Skip to main content

A Django plugin for py.test.

Project description

Build Status

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 py.test command.

  3. (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

Documentation is available on Read the Docs.

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 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 withfixtures

  • Database re-use: no need to re-create the test database for every test run.

  • There are a lot of other nice plugins available for pytest.

  • No pain of switching: Existing unittest-style tests will still work without any modifications.

See the pytest documentation for more information on pytest.

Contributing

Read the contributing page from the documentation.

To run the project’s tests:

make test

To build the project’s docs:

make docs

Bugs? Feature suggestions?

Report issues and feature requests at the github issue tracker.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest-django-2.4.tar.gz (12.8 kB view hashes)

Uploaded Source

Built Distribution

pytest_django-2.4-py2.py3-none-any.whl (15.0 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page