is nicer testing for python

nose extends unittest to make testing easier.

Installation and quick start

On most UNIX-like systems, you’ll probably need to run these commands as root or using sudo.

Install nose using setuptools/distribute:

easy_install nose

Or pip:

pip install nose

Or, if you don’t have setuptools/distribute installed, use the download link at right to download the source package, and install it in the normal fashion: Ungzip and untar the source package, cd to the new directory, and:

python install

However, please note that without setuptools/distribute installed, you will not be able to use third-party nose plugins.

This will install the nose libraries, as well as the nosetests script, which you can use to automatically discover and run tests.

Now you can run tests for your project:

cd path/to/project

You should see output something like this:

Ran 34 tests in 1.440s


Indicating that nose found and ran your tests.

For help with nosetests’ many command-line options, try:

nosetests -h

or visit the usage documentation.


nose supports python3. Building from source on python3 requires distribute. If you don’t have distribute installed, python3 install will install it via distribute’s bootstrap script.

Additionally, if your project is using 2to3, python3 nosetests command will automatically convert your sources with 2to3 and then run the tests with python 3.


nose itself supports python 3, but many 3rd-party plugins do not!


Testing with nose

Find out how to write, find and run tests using nose.
More >

Developing with nose

Find out how to write your own plugins, and about nose internals.
More >


What's new in this release?
More >

Further reading

Plugin recipes and usage examples, trivia and other uncategorizable items.
More >

Indices and tables