Nose在目录中收集测试
我想从一个Python脚本中用nose工具收集特定目录下的所有测试。
我的目录结构是这样的:
script.py
test_dir/
testsetA/testA1.py
testA2.py
__init__.py
testsetB/testB1.py
testB2.py
__init__.py
testsetC/...
在script.py文件中,我这样运行nose:
args = ['-w test_dir/testsetA/', '--collect-only']
nose.run(argv=args)
问题是,它似乎收集了testsetA、B、C等所有的测试,而不是我预期的只收集testsetA中的两个测试。我可以使用--with-id选项来找出testsetA中有哪些测试,但我更希望nose只收集我指定目录中的测试。有没有办法做到这一点呢?
2 个回答
2
如果你在使用 Python 3.X,应该这样写:
args = ['--py3where', 'test_dir/testsetA/', '--collect-only']
1
你应该把 -w
和目录分开写:
args = ['-w', 'test_dir/testsetA/', '--collect-only']
否则,nose
会把 '-w test_dir/testsetA/
当成一个整体的参数来处理。