pytest-django allows you to test your Django project/applications with the pytest testing tool.
Full documentation: https://pytest-django.readthedocs.io/en/latest/
Version compatibility:
- Django: 3.2, 4.1, 4.2, 5.0 and latest main branch (compatible at the time of each release)
- Python: CPython>=3.8 or PyPy 3
- pytest: >=7.0
For compatibility with older versions, use the pytest-django 3.*.* series.
Licence: BSD
Project maintainers: Andreas Pelme, Floris Bruynooghe and Daniel Hahler
GitHub repository: https://github.com/pytest-dev/pytest-django
pip install pytest-django
Running your test suite with pytest-django allows you to tap into the features that are already present in pytest. Here are some advantages:
- Manage test dependencies with pytest fixtures.
- Less boilerplate tests: no need to import unittest, create a subclass with methods. Write tests as regular functions.
- Database re-use: no need to re-create the test database for every test run.
- Run tests in multiple processes for increased speed (with the pytest-xdist plugin).
- Make use of other pytest plugins.
- Works with both worlds: Existing unittest-style TestCase's still work without any modifications.
See the pytest documentation for more information on pytest itself.