robmadole edited this page Sep 13, 2010 · 4 revisions
Clone this wiki locally

Welcome to the django-nose wiki!

The goal of this project is to make using the Nose test runner as easy as possible within the Django Web Framework.

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.
— Rob