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
- 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 1.8 (LTS) with Python 3.5
- Django 1.9 with Python 3.5
- Django 1.10 with Python 3.5
- Django 1.11 (LTS) with Python 3.5 or 3.6
- Django 2.0 with Python 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.
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
INSTALLED_APPS = ( ... 'django_nose', ... )
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'