A Django plugin for pytest.
Welcome to pytest-django!
pytest-django allows you to test your Django project/applications with the pytest testing tool.
- Quick start / tutorial
- Full documentation: https://pytest-django.readthedocs.io/en/latest/
- Contribution docs
- Version compatibility:
- Django: 1.8-1.11, 2.0 and latest master branch (compatible at the time of each release)
- Python: CPython 2.7, 3.4-3.6 or PyPy 2, 3
- pytest: >2.9.x
- Licence: BSD
- Project maintainers: Andreas Pelme, Floris Bruynooghe and Daniel Hahler
- All contributors
- GitHub repository: https://github.com/pytest-dev/pytest-django
- Issue tracker
- Python Package Index (PyPI)
pip install pytest-django
Why would I use this instead of Django’s manage.py test command?
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.