Monday, June 8, 2020

Test and Code: 116: 15 amazing pytest plugins - Michael Kennedy

pytest plugins are an amazing way to supercharge your test suites, leveraging great solutions from people solving test problems all over the world. In this episode Michael and I discuss 15 favorite plugins that you should know about.

We also discuss fixtures and plugins and other testing tools that work great with pytest

  • tox
  • GitHub Actions
  • Coverage.py
  • Selenium + splinter with pytest-splinter
  • Hypothesis

And then our list of pytest plugins:

  1. pytest-sugar
  2. pytest-cov
  3. pytest-stress
  4. pytest-repeat
  5. pytest-instafail
  6. pytest-metadata
  7. pytest-randomly
  8. pytest-xdist
  9. pytest-flake8
  10. pytest-timeout
  11. pytest-spec
  12. pytest-picked
  13. pytest-freezegun
  14. pytest-check
  15. fluentcheck

That last one isn't a plugin, but we also talked about pytest-splinter at the beginning. So I think it still counts as 15.

Special Guest: Michael Kennedy.

Sponsored By:

Support Test & Code : Python Testing for Software Engineering

Links:

<p>pytest plugins are an amazing way to supercharge your test suites, leveraging great solutions from people solving test problems all over the world. In this episode Michael and I discuss 15 favorite plugins that you should know about.</p> <p>We also discuss fixtures and plugins and other testing tools that work great with pytest</p> <ul> <li>tox</li> <li>GitHub Actions</li> <li>Coverage.py</li> <li>Selenium + splinter with pytest-splinter</li> <li>Hypothesis</li> </ul> <p>And then our list of pytest plugins:</p> <ol> <li>pytest-sugar </li> <li>pytest-cov </li> <li>pytest-stress </li> <li>pytest-repeat </li> <li>pytest-instafail </li> <li>pytest-metadata</li> <li>pytest-randomly</li> <li>pytest-xdist </li> <li>pytest-flake8 </li> <li>pytest-timeout </li> <li>pytest-spec </li> <li>pytest-picked </li> <li>pytest-freezegun </li> <li>pytest-check </li> <li>fluentcheck</li> </ol> <p>That last one isn&#39;t a plugin, but we also talked about pytest-splinter at the beginning. So I think it still counts as 15.</p><p>Special Guest: Michael Kennedy.</p><p>Sponsored By:</p><ul><li><a href="https://ift.tt/2JDHRTz" rel="nofollow">PyCharm Professional</a>: <a href="https://ift.tt/2JDHRTz" rel="nofollow">Try PyCharm Pro with a 4 month free trial. </a> Promo Code: TESTNCODE2020</li></ul><p><a href="https://ift.tt/2tzXV5e" rel="payment">Support Test & Code : Python Testing for Software Engineering</a></p><p>Links:</p><ul><li><a href="https://ift.tt/2mjdnQI" title="pytest-sugar" rel="nofollow">pytest-sugar</a> &mdash; changes the default look and feel of pyptest (e.g. progressbar, show tests that fail instantly)</li><li><a href="https://ift.tt/2H0WyBk" title="pytest-cov" rel="nofollow">pytest-cov</a> &mdash; run coverage.py from pytest</li><li><a href="https://ift.tt/3h2RBIY" title="pytest-stress" rel="nofollow">pytest-stress</a> &mdash; allows you to loop tests for a user defined amount of time.</li><li><a href="https://ift.tt/290tzix" title="pytest-repeat" rel="nofollow">pytest-repeat</a> &mdash; for repeating test execution</li><li><a href="https://ift.tt/2XBJ9Zn" title="pytest-instafail" rel="nofollow">pytest-instafail</a> &mdash; shows failures and errors instantly instead of waiting until the end of test session.</li><li><a href="https://ift.tt/374vPjs" title="pytest-metadata" rel="nofollow">pytest-metadata</a> &mdash; for accessing test session metadata</li><li><a href="https://ift.tt/2ElhdwA" title="pytest-randomly" rel="nofollow">pytest-randomly</a> &mdash; randomly order tests and control random.seed</li><li><a href="https://ift.tt/2U7rPtD" title="pytest-xdist" rel="nofollow">pytest-xdist</a> &mdash; distributed testing</li><li><a href="https://ift.tt/2AcuieW" title="pytest-flake8" rel="nofollow">pytest-flake8</a> &mdash; pytest plugin to run flake8</li><li><a href="https://ift.tt/3eYUecY" title="pytest-timeout" rel="nofollow">pytest-timeout</a> &mdash; terminate tests after a certain timeout</li><li><a href="https://ift.tt/2fgRYBh" title="pytest-spec" rel="nofollow">pytest-spec</a> &mdash; display test execution output like a specification</li><li><a href="https://ift.tt/3gZJRHy" title="pytest-picked" rel="nofollow">pytest-picked</a> &mdash; run the tests related to the changed files (according to Git)</li><li><a href="https://ift.tt/2AOux00" title="pytest-freezegun" rel="nofollow">pytest-freezegun</a> &mdash; easily freeze time</li><li><a href="https://ift.tt/2VXAUWF" title="pytest-check" rel="nofollow">pytest-check</a> &mdash; allows multiple failures per test</li><li><a href="https://ift.tt/3gYUEBP" title="fluentcheck" rel="nofollow">fluentcheck</a> &mdash; fluent assertions</li><li><a href="https://ift.tt/2TjgFS1" title="episode 104" rel="nofollow">episode 104</a> &mdash; Top 28 pytest plugins with Anthony Sottile</li><li><a href="https://ift.tt/3dK6EoC" title="Python Testing with pytest" rel="nofollow">Python Testing with pytest</a> &mdash; The easiest way to get up to speed with pytest fast. There's also a chapter dedicated to plugins that also teaches you how to write and test your own plugins.</li><li><a href="https://ift.tt/1TCkOsM" title="tox" rel="nofollow">tox</a></li><li><a href="https://ift.tt/2Ptg7H5" title="GitHub Actions" rel="nofollow">GitHub Actions</a></li><li><a href="https://ift.tt/3eNcR4p" title="Coverage.py" rel="nofollow">Coverage.py</a></li><li><a href="https://ift.tt/2MF2XVq" title="pytest-splinter" rel="nofollow">pytest-splinter</a> &mdash; provides a set of fixtures to use splinter for browser testing</li><li><a href="https://ift.tt/3eV052O" title="splinter" rel="nofollow">splinter</a> &mdash; makes it easy to write automated tests of web applications</li><li><a href="https://ift.tt/28VKlfD" title="hypothesis" rel="nofollow">hypothesis</a> &mdash; property-based testing</li><li><a href="https://ift.tt/3cDTNmS" title="Talk Python Episode #267" rel="nofollow">Talk Python Episode #267</a> &mdash; This episode is a cross post with Talk Python</li></ul>

from Planet Python
via read more

No comments:

Post a Comment

TestDriven.io: Working with Static and Media Files in Django

This article looks at how to work with static and media files in a Django project, locally and in production. from Planet Python via read...