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:
- pytest-sugar
- pytest-cov
- pytest-stress
- pytest-repeat
- pytest-instafail
- pytest-metadata
- pytest-randomly
- pytest-xdist
- pytest-flake8
- pytest-timeout
- pytest-spec
- pytest-picked
- pytest-freezegun
- pytest-check
- 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:
- PyCharm Professional: Try PyCharm Pro for 4 months and learn how PyCharm will save you time. Promo Code: TESTANDCODE22
Links:
- pytest-sugar — changes the default look and feel of pyptest (e.g. progressbar, show tests that fail instantly)
- pytest-cov — run coverage.py from pytest
- pytest-stress — allows you to loop tests for a user defined amount of time.
- pytest-repeat — for repeating test execution
- pytest-instafail — shows failures and errors instantly instead of waiting until the end of test session.
- pytest-metadata — for accessing test session metadata
- pytest-randomly — randomly order tests and control random.seed
- pytest-xdist — distributed testing
- pytest-flake8 — pytest plugin to run flake8
- pytest-timeout — terminate tests after a certain timeout
- pytest-spec — display test execution output like a specification
- pytest-picked — run the tests related to the changed files (according to Git)
- pytest-freezegun — easily freeze time
- pytest-check — allows multiple failures per test
- fluentcheck — fluent assertions
- episode 104 — Top 28 pytest plugins with Anthony Sottile
- Python Testing with pytest — 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.
- tox
- GitHub Actions
- Coverage.py
- pytest-splinter — provides a set of fixtures to use splinter for browser testing
- splinter — makes it easy to write automated tests of web applications
- hypothesis — property-based testing
- Talk Python Episode #267 — This episode is a cross post with Talk Python