pytest-django Documentation

pytest-django is a plugin for pytest that provides a set of useful tools for testing Django applications and projects.

Quick Start

  1. pip install pytest-django
  2. Make sure DJANGO_SETTINGS_MODULE is defined and and run tests with the pytest command.
  3. (Optional) If you want tests of Django’s default application layout be discovered (tests.py), if you put your tests under a tests/ directory , or your files are not named test_FOO.py, see the FAQ at My tests are not being found. Why?.

Table of Contents

Why would I use this instead of Django’s manage.py test command?

Running the test suite with pytest offers some features that are not present in Django’s 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.

Bugs? Feature suggestions?

Report issues and feature requests at the GitHub issue tracker.

Indices and tables