Skip to content

mjkaye/pytest_django

 
 

Repository files navigation

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

Requirements

These packages are required to use pytest-django, and should be installed separately.

  • Django 1.3+ (1.4 is supported)
  • py.test

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 py.test 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.
  • Injection of test depencies with funcargs
  • 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 py.test.
  • No pain of switching: Existing unittest-style tests will still work without any modifications.

See the py.test documentation for more information on py.test.

Bugs? Feature suggestions?

Report issues and feature requests at the github issue tracker.

About

A Django plugin for py.test.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%