A Django plugin for py.test.
Project description
pytest-django is a plugin for pytest that provides a set of useful tools for testing Django applications and projects.
Requirements
Supported Django versions: 1.3, 1.4 and 1.5
Supported Python versions 2.5 - 2.7 and 3.2 - 3.3. PyPy can also be used.
A recent version of pytest is required (>= 2.3.4).
Quick Start
pip install pytest-django
Make sure DJANGO_SETTINGS_MODULE is defined and and run tests with the pytest 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
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:
Smarter test discovery (no need for from .foo import * in your test modules).
Less boilerplate: no need to import unittest, create a subclass with methods. Just write tests as regular functions.
No need to run all tests, it is easy to specify which tests to run.
Database re-use: no need to re-create the test database for every test run.
No hacks required to only run your apps, and not the 3rd party/contrib apps that is listed in your INSTALLED_APPS.
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.
Bugs? Feature suggestions?
Report issues and feature requests at the github issue tracker.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.