Excluding directory, module in python nosetest

Shiplu Mokaddim picture Shiplu Mokaddim · Jun 17, 2014 · Viewed 13.1k times · Source

We use nose to discover tests and run them. All the tests are written in TestCase compatible way so any test runner can run the. Problem is we have some directories which doesn't have any test. But test runner continue to discover test from there. If one of those directory has lot of files its stuck. So how can I exclude that directory?

Currently I am executing

nosetests --processes=10 --verbosity 2

But there is a directory called scripts which takes ages to discover tests from it. So I want to exclude it. I tried

nosetests --processes=10 --verbosity 2 --exclude='^scripts$'

But no luck.

Answer

alecxe picture alecxe · Jun 17, 2014

There is a nose-exclude plugin specifically for the task:

nose-exclude is a Nose plugin that allows you to easily specify directories to be excluded from testing.

Among other features, it introduces a new command-line argument called exclude-dir:

nosetests --processes=10 --verbosity 2 --exclude-dir=/path/to/scripts

Instead of passing a command-line argument, you can also set NOSE_EXCLUDE_DIRS environment variable, or set exclude-dir configuration key in .noserc or nose.cfg files.