pytest-dev / pytest-stress

A Pytest plugin that allows you to loop tests for a user defined amount of time.
MIT License
41 stars 9 forks source link
pytest-plugin python3 stress-testing testing utility

============= Pytest-stress

.. image:: https://github.com/pytest-dev/pytest-stress/actions/workflows/test.yml/badge.svg :target: https://github.com/pytest-dev/pytest-cov/actions :alt: See Build Status on GitHub Actions

.. image:: https://img.shields.io/pypi/v/pytest-stress.svg :target: https://pypi.org/project/pytest-stress :alt: PyPI version

.. image:: https://img.shields.io/pypi/pyversions/pytest-stress.svg :target: https://pypi.org/project/pytest-stress :alt: Python versions

A plugin that allows you to loop tests for a user-defined amount of time.

Requirements

Only tested with Pytest_ version 5.2.2.

Installation

You can install "pytest-stress" via pip from PyPI (highly recommend installing in a Pipenv_)::

$ pip3 install pytest-stress

Usage

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.

Contributing

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.

License

Distributed under the terms of the MIT_ license, "pytest-stress" is free and open source software

Issues

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.

.. Cookiecutter: https://github.com/audreyr/cookiecutter .. @hackebrot: https://github.com/hackebrot .. MIT: http://opensource.org/licenses/MIT .. BSD-3: http://opensource.org/licenses/BSD-3-Clause .. GNU GPL v3.0: http://www.gnu.org/licenses/gpl-3.0.txt .. Apache Software License 2.0: http://www.apache.org/licenses/LICENSE-2.0 .. cookiecutter-pytest-plugin: https://github.com/pytest-dev/cookiecutter-pytest-plugin .. file an issue: https://github.com/pytest-dev/pytest-stress/issues .. pytest: https://github.com/pytest-dev/pytest .. tox: https://tox.readthedocs.io/en/latest/ .. pip: https://pypi.org/project/pip/ .. pipenv: https://pypi.org/project/pipenv/ .. _PyPI: https://pypi.org/project