pytest-django is a plugin for pytest that provides a set of useful tools for testing Django applications and projects.
- Authors: Ben Firshman, Andreas Pelme and contributors
- Licence: BSD
- Compatibility: Django 1.3-1.6 (experimental support for 1.7), python 2.5-2.7, 3.2-3.3 or PyPy, pytest >= 2.3.4
- Project URL: https://github.com/pelme/pytest_django
- Documentation: http://pytest-django.rtfd.org/
pip install pytest-django
- Make sure
DJANGO_SETTINGS_MODULE
is defined and and run tests with thepy.test
command. - (Optionally) If you put your tests under a tests directory (the standard Django application layout), and your files are not named
test_FOO.py
, see the FAQ
Documentation is available on Read the Docs.
Running the test suite with pytest offers some features that are not present in Djangos standard test mechanism:
- Less boilerplate: no need to import unittest, create a subclass with methods. Just write tests as regular functions.
- Manage test dependencies with fixtures
- Database re-use: no need to re-create the test database for every test run.
- Run tests in multiple processes for increased speed
- There are a lot of other nice plugins available for pytest.
- Easy switching: Existing unittest-style tests will still work without any modifications.
See the pytest documentation for more information on pytest.
Read the contributing page from the documentation.
To run the project's tests:
make test
To build the project's docs:
make docs
Report issues and feature requests at the github issue tracker.