A plugin that allows you to loop tests for a user-defined amount of time.
Only tested with Pytest version 5.2.2.
You can install "pytest-stress" via pip from PyPI (highly recommend installing in a Pipenv):
$ pip3 install pytest-stress
Loop tests for 30 seconds:
$ pytest --seconds 30
Loop tests for 45 minutes:
$ pytest --minutes 45
Loop tests for 8 hours:
$ pytest --hours 8
Loop tests for 1 hour 8 minutes and 9 seconds:
$ pytest --hours 1 --minutes 8 --seconds 9
Need to wait some time after each test loop? Don't say I don't love you:
$ pytest --delay 5 --hours 4 --minutes 30
You can also add these values to config files:
[pytest] addopts = --hours 1 --minutes 30
Note: These loop times include setup and teardown operations as well. So if you have a test setup that takes 5 seconds, your actual tests will run for 5 seconds less than your desired time.
Contributions are very welcome! Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.
Distributed under the terms of the MIT license, "pytest-stress" is free and open source software
If you encounter any problems, please file an issue along with a detailed description.
This pytest plugin was generated with Cookiecutter along with @hackebrot's cookiecutter-pytest-plugin template.