Skip to content

Latest commit

 

History

History
78 lines (55 loc) · 2.39 KB

index.rst

File metadata and controls

78 lines (55 loc) · 2.39 KB

pytest-trio: Pytest plugin for trio

This is a pytest plugin to help you test projects that use Trio, a friendly library for concurrency and async I/O in Python. Features include:

  • Async tests without the boilerplate: just write async def test_whatever(): ....
  • Useful fixtures included: use :data:`autojump_clock` for easy testing of code with timeouts, or :data:`nursery` to easily set up background tasks.
  • Write your own async fixtures: set up an async database connection or start a server inside a fixture, and then use it in your tests.
  • If you have multiple async fixtures, pytest-trio will even do setup/teardown concurrently whenever possible. (Though honestly, we're not sure whether this is a good idea or not and might remove it in the future. If it makes your tests harder to debug, or conversely provides you with big speedups, please let us know.)
  • Integration with the fabulous Hypothesis library, so your async tests can use property-based testing: just use @given like you're used to.
  • Support for testing projects that use Trio exclusively and want to use pytest-trio everywhere, and also for testing projects that support multiple async libraries and only want to enable pytest-trio's features for a subset of their test suite.

Vital statistics

.. toctree::
   :maxdepth: 2

   quickstart.rst
   reference.rst

.. toctree::
   :maxdepth: 1

   history.rst

Indices and tables