nose
发现过程查找名称以test
开头的所有模块,以及名称中包含test
的所有函数,并尝试将它们作为单元测试运行。见http://nose.readthedocs.org/en/latest/man.html
我在文件中有一个函数,其名称是say,make_test_account
。我想在名为accounts.py
的测试模块中测试该函数。所以在文件的开头,我会:
from foo.accounts import make_test_account
但现在我发现nose将函数
test_account
视为一个单元测试,并尝试运行它(失败是因为它没有传递任何必需的参数)。我怎样才能确保鼻子忽略了这个功能呢?我更愿意这样做,这意味着我可以调用nose as
make_test_account
,而不需要任何命令行参数。 最佳答案
鼻子有一个装饰器。但是,如果不想在从中导入的模块中应用nottest
修饰符,也可以在导入后简单地修改该方法。保持单元测试逻辑接近单元测试本身可能更干净。
from foo.accounts import make_test_account
# prevent nose test from running this imported method
make_test_account.__test__ = False
您仍然可以使用
@nottest
但其效果相同: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)
关于python - 让 Nose 忽略名称中带有'test'的功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33580779/