# 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 `autojump_clock` for easy testing of code with timeouts, or `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

- Install: `pip install pytest-trio`

- Documentation: https://pytest-trio.readthedocs.io

- Issue tracker, source code: https://github.com/python-trio/pytest-trio

- License: MIT or Apache 2, your choice

- Contributor guide: https://trio.readthedocs.io/en/latest/contributing.html

- Code of conduct: Contributors are requested to follow our code of conduct in all project spaces.

- Quickstart
  - Enabling Trio mode and running your first async tests
  - Trio’s magic autojump clock
  - Async fixtures
  - Running a background server from a fixture
- Reference
  - Trio mode
  - Trio fixtures
  - An important note about `yield` fixtures
  - Concurrent setup/teardown
  - Handling of ContextVars
  - Built-in fixtures
  - Integration with the Hypothesis library
  - Using alternative Trio runners

- Release history

# Indices and tables

- Index

- Module Index

- Search Page

- glossary