项目作者: taliamax

项目描述 :
A pytest plugin for setting tests to be skipped by default
高级语言: Python
项目地址: git://github.com/taliamax/pytest-explicit.git
创建时间: 2021-06-12T16:50:04Z
项目社区:https://github.com/taliamax/pytest-explicit

开源协议:MIT License

下载


Pytest-Explicit

pypi version
python versions
package state
pypi release
pypi downloads
license

Some tests you just don’t want to run

Hey, I get it. Sometimes we write tests, but we don’t actually want to wait
for them to finish executing. Whether they’re slow tests, they need some
dependencies you don’t have, or they aren’t related to the work you
do, there’s some tests that just weren’t meant to be run by devs in the age
of CI/CD platforms. That’s where pytest-explicit comes in.

This plugin allows developers to specify test markers that should be ignored
by default when running pytest, but also quickly bypass this behaviour
for CI/CD. Just add a --run-all flag to your pytest command for your test
pipeline, and this plugin won’t skip anything!

Configuring

If all you want to do is skip slow tests by default, you can stop reading
now. Out-of-the-box, pytest-explicit will make any test marked slow
require you to pass the --run-slow (or --run-all) for them to take
up precious developer time.

Need more ignored tests? Just add the explicit-only option to your
pytest config file, and pytest-explicit will pick up the markers
specified and dynamically add --run-<marker> CLI options to pytest. Here’s
a sample setup.cfg file below!

  1. [tool:pytest]
  2. markers =
  3. slow: Marks a slow test
  4. memory_intensive: Marks a test that needs at least 16 gb RAM to run
  5. smoke: Marks a test that gives early alert to the health of the app
  6. testpaths = tests
  7. explicit-only =
  8. slow
  9. memory_intensive

With this configuration file, any test marked with either slow or
memory_intensive won’t run unless the appropriate CLI flags are passed!