Skip to main content

Nice pytest plugin to help you with Django pluggable application testing.

Project description

https://github.com/idlesign/pytest-djangoapp

release lic ci coverage health

Description

Nice pytest plugin to help you with Django pluggable application testing.

This exposes some useful tools for Django applications developers to facilitate tests authoring, including:

  • Settings overriding
  • Template tags testing
  • User creation
  • Request object creation
  • Management command calls
  • Mailing
  • Messages
  • etc.

Suitable for testing apps for Django 1.7+.

How to use

Let’s say you have classical tests placing (inside application directory):

package_dir
|__ myapp
|  |__ __init__.py
|  |__ tests
|  |  |__ __init__.py
|  |  |__ conftest.py  <- Configure djangoapp here.
|
|__ setup.py

Add the following lines into conftest.py to configure djangoapp and start using it:

# conftest.py
from pytest_djangoapp import configure_djangoapp_plugin

pytest_plugins = configure_djangoapp_plugin()

Fixtures usage examples can be found in the documentation and the source code.

What about pytest-django

There is a couple of design decisions in pytest-django that might make it uncomfortable to work with.

  1. It uses setuptools entrypoints feature for pytest plugin discovery. It’s not a problem by itself, but all kinds of bootstrapping with side effects made by pytest-django just on startup, make the plugin a poor choice for cases of system-wide (i.e. not venv) installations.
  2. Philosophy that next to no unit test should require DB access may be quite annoying.

Project details


Download files

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

Files for pytest-djangoapp, version 0.11.0
Filename, size File type Python version Upload date Hashes
Filename, size pytest_djangoapp-0.11.0-py2.py3-none-any.whl (23.9 kB) File type Wheel Python version 2.7 Upload date Hashes View hashes
Filename, size pytest-djangoapp-0.11.0.tar.gz (23.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page