Skip to main content

django-nose provides all the goodness of nose in your Django tests, like:

  • Testing just your apps by default, not all the standard ones that happen to be in INSTALLED_APPS

  • Running the tests in one or more specific modules (or apps, or classes, or folders, or just running a specific test)

  • Obviating the need to import all your tests into tests/__init__.py. This not only saves busy-work but also eliminates the possibility of accidentally shadowing test classes.

  • Taking advantage of all the useful nose plugins

It also provides:

  • Fixture bundling, an optional feature which speeds up your fixture-based tests by a factor of 4

  • Reuse of previously created test DBs, cutting 10 seconds off startup time

  • Hygienic TransactionTestCases, which can save you a DB flush per test

  • Support for various databases. Tested with MySQL, PostgreSQL, and SQLite. Others should work as well.

django-nose requires nose 1.2.1 or later, and the latest release is recommended. It follows the Django’s support policy, supporting:

  • Django 1.8 (LTS) with Python 2.7, 3.4, or 3.5

  • Django 1.9 with Python 2.7, 3.4, or 3.5

  • Django 1.10 with Python 2.7, 3.4, or 3.5

  • Django 1.11 (LTS) with Python 2.7, 3.4, 3.5, or 3.6

  • Django 2.0 with Python 3.4, 3.5, 3.6, or 3.7

  • Django 2.1 with Python 3.5, 3.6, or 3.7

  • Django 2.2 with Python 3.5, 3.6, or 3.7

Note to users

nose has been in maintenance mode since at least 2015. django-nose is in maintenance mode as well, and the sole maintainer is no longer an active user. See Jazzband.co to learn how django-nose is maintained and how you can help. New projects should consider using pytest, or unittest with the Django testing framework.

Installation

You can get django-nose from PyPI with… :

$ pip install django-nose

The development version can be installed with… :

$ pip install -e git://github.com/jazzband/django-nose.git#egg=django-nose

Since django-nose extends Django’s built-in test command, you should add it to your INSTALLED_APPS in settings.py:

INSTALLED_APPS = (
    ...
    'django_nose',
    ...
)

Then set TEST_RUNNER in settings.py:

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

Development

Code:

https://github.com/jazzband/django-nose

Issues:

https://github.com/jazzband/django-nose/issues?state=open

Docs:

https://django-nose.readthedocs.io

Changelog

1.4.7 (2020-08-19)

1.4.6 (2018-10-03)

  • Document Django 2.0 and 2.1 support, no changes needed

  • Document Python 3.7 support

1.4.5 (2017-08-22)

  • Add Django 1.11 support

1.4.4 (2016-06-27)

  • Add Django 1.10 support

  • Drop Django 1.4 - 1.7, and Python 2.6 support

  • Drop South support

1.4.3 (2015-12-28)

  • Add Django 1.9 support

  • Support long options without equals signs, such as “–attr selected”

  • Support nose plugins using callback options

  • Support nose options without default values (jsatt)

  • Remove Django from install dependencies, to avoid accidental upgrades (jsocol, willkg)

  • Setting REUSE_DB to an empty value now disables REUSE_DB, instead of enabling it (wdoekes)

1.4.2 (2015-10-07)

  • Warn against using REUSE_DB=1 and FastFixtureTestCase in docs

  • REUSE_DB=1 uses new transaction management in Django 1.7, 1.8 (scottsexton)

  • Try to avoid accidentally using production database with REUSE_DB=1 (alexjg, eroninjapan)

  • Supported Django versions limited to current supported Django version 1.4, 1.7, and 1.8, as well as relevant Python versions.

1.4.1 (2015-06-29)

  • Fix version number (ezarowny)

  • Fix choice options, unbreaking nose-cover (aamirtharaj-rpx, jwhitlock)

  • Support 1.8 app loading system (dgladkov)

  • Support non-ASCII file names (singingwolfboy)

  • Better PEP8’d assertion names (roganov)

1.4 (2015-04-23)

  • Django 1.8 support (timc3, adepue, jwhitlock)

  • Support –testrunner option (st4lk)

  • Fix REUSE_DB second run in py3k (edrmp)

1.3 (2014-12-05)

  • Django 1.6 and 1.7 support (conrado, co3k, Nepherhotep, mbertheau)

  • Python 3.3 and 3.4 testing and support (frewsxcv, jsocol)

1.2 (2013-07-23)

  • Python 3 support (melinath and jonashaag)

  • Django 1.5 compat (fabiosantoscode)

1.1 (2012-05-19)

  • Django TransactionTestCases don’t clean up after themselves; they leave junk in the DB and clean it up only on _pre_setup. Thus, Django makes sure these tests run last. Now django-nose does, too. This means one fewer source of failures on existing projects. (Erik Rose)

  • Add support for hygienic TransactionTestCases. (Erik Rose)

  • Support models that are used only for tests. Just put them in any file imported in the course of loading tests. No more crazy hacks necessary. (Erik Rose)

  • Make the fixture bundler more conservative, fixing some conceivable situations in which fixtures would not appear as intended if a TransactionTestCase found its way into the middle of a bundle. (Erik Rose)

  • Fix an error that would surface when using SQLAlchemy with connection pooling. (Roger Hu)

  • Gracefully ignore the new --liveserver option introduced in Django 1.4; don’t let it through to nose. (Adam DePue)

1.0 (2012-03-12)

  • New fixture-bundling plugin for avoiding needless fixture setup (Erik Rose)

  • Moved FastFixtureTestCase in from test-utils, so now all the fixture-bundling stuff is in one library. (Erik Rose)

  • Added the REUSE_DB setting for faster startup and shutdown. (Erik Rose)

  • Fixed a crash when printing options with certain verbosities. (Daniel Abel)

  • Broke hard dependency on MySQL. Support PostgreSQL. (Roger Hu)

  • Support SQLite, both memory- and disk-based. (Roger Hu and Erik Rose)

  • Nail down versions of the package requirements. (Daniel Mizyrycki)

_(Older changes can be found in the full documentation)._

Release files for django-nose 1.4.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-nose 1.4.7
File Size Uploaded
django-nose-1.4.7.tar.gz 45.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-nose 1.4.7
File Interpreter ABI Platform
django_nose-1.4.7-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 71.5 kB

Release files / django-nose-1.4.7.tar.gz

Download URL django-nose-1.4.7.tar.gz
Size 45.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a4885cd002d65fd2de96e2bb2563ef477c3fbe207009360c015fca5c3b5561b7
BLAKE2b-256 checksum
How to use checksums
4cd6a340da9854cf0a2b54e23cf9147911b1e15a831911428983dd0158572ce9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.4

Release files / django_nose-1.4.7-py2.py3-none-any.whl

Download URL django_nose-1.4.7-py2.py3-none-any.whl
Size 26.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
304adc447ee35b889b733d7106004f98aa401d8387ddcada5d4f2239d86790a9
BLAKE2b-256 checksum
How to use checksums
a55e804eda7b128162d215de14c0572717f16508cbdb899d4e839f51cef5481e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.4

Release history Release notifications | RSS feed

This release

1.4.7 This release

2 release files

1.4.6

2 release files

1.4.5

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4

2 release files

1.3

1 release file

1.2

1 release file

1.1

1 release file

1.0

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page