Clone this wiki locally
Welcome to the django-nose wiki!
The high-level goals:
- Integration should be as easy as:
- easy_install django-nose (which installs the nose module automatically)
- Change the TEST_RUNNER to ‘djangonose.testrunner’ (This module name will likely change)
- All the command-line options for nose be available by running ./manage.py test -h
- All the normal things that Django’s simple test runner does are also performed by django-nose.
- Includes database setup, teardown
- Any other mechanisms that are performed (I suspect there is a bit more to this)
Potential add-ons beyond simple nose integration
—smartfailed (name could change)
This was originally described by Javier Guerra on the django-developers thread here.
Here is the basics of what he described:
- if there’s no ‘failure record’ run all
- if there’s some record, first test those that have failed the last time
- if they still fail, stop there
- if there’s no further failures, rerun the whole set
Detection of south being installed after django-nose
South installs its own test command that turns off migrations during testing. We should be able to detect this and do something appropriate. We should also respect the changes that South makes to the test command. By default, I think migrations should be off for tests.