15

我可以在workflow文件夹中运行测试nosetests

workflow maks$ nosetests
..........
----------------------------------------------------------------------
Ran 10 tests in 0.093s

OK

我的测试位于test文件夹中:

workflow maks$ ls
__pycache__     iterations.py       test
data            iterationsClass.py  testData
env         iterationsClass.pyc

但是当我移动到父目录时:

(py3env)Makss-Mac:workflow maks$ cd ..

它找不到测试。

(py3env)Makss-Mac:Packages maks$ nosetests

----------------------------------------------------------------------
Ran 0 tests in 0.005s

OK

那么如何在所有子目录中进行nosetest搜索测试呢?

4

2 回答 2

18

如果您workflow通过将文件夹放入其中使文件夹成为模块__init__.py,则鼻子应该能够找到您的测试。

于 2013-11-09T05:08:16.747 回答
7

如果您不想将文件夹设为模块,请将 asetup.cfg放在要运行的目录中,该目录会nosetests自动传递tests选项nosetests以指定测试的相对位置。像这样:

#setup.cfg contents:

[nosetests]
exe = True
tests = workflow/

您还可以使用相同的机制传递多个文件夹/测试:

#setup.cfg contents:

[nosetests]
exe = True
tests = workflow/, other/dir/full/of/tests/, direct/file/my_test.py
于 2017-03-14T20:19:06.117 回答