Skip to content Skip to sidebar Skip to footer

Getting Nose To Ignore A Function With 'test' In The Name

The nose discovery process finds all modules whose name starts with test, and within them all functions which have test in the name and tries to run them as unit tests. See http://

Solution 1:

Tell nose that the function is not a test - use the nottest decorator.

# module foo.accountsfrom nose.tools import nottest

@nottestdefmake_test_account():
    ...

Solution 2:

Nose has a nottest decorator. However, if you don't want to apply the @nottest decorator in the module you are importing from you can also simply modify the method after the import. It may be cleaner to keep unit test logic close to the unit test itself.

from foo.accounts import make_test_account
# prevent nose test from running this imported method
make_test_account.__test__ = False

You can still use nottest but it has the same effect:

from nose.tools import nottest
from foo.accounts import make_test_account
# prevent nose test from running this imported method
make_test_account = nottest(make_test_account)

Post a Comment for "Getting Nose To Ignore A Function With 'test' In The Name"