我试图从python脚本中使用nose收集特定目录中的所有测试。
我的目录结构类似于
script.py
test_dir/
testsetA/testA1.py
testA2.py
__init__.py
testsetB/testB1.py
testB2.py
__init__.py
testsetC/...
从script.py开始,我像鼻子一样运行
args = ['-w test_dir/testsetA/', '--collect-only']
nose.run(argv=args)
问题是,它似乎收集了testsetA,B,C等中的所有测试,而不是像我期望的那样只是testsetA中的两个。我可以使用--with-id选项并找出testsetA中的测试,但我宁愿从我指定的目录中收集测试。有没有办法做到这一点?
答案 0 :(得分:2)
如果你使用的是Python 3.X,你应该这样写:
args = ['--py3where', 'test_dir/testsetA/', '--collect-only']
答案 1 :(得分:1)
您应该从目录中分割-w
:
args = ['-w', 'test_dir/testsetA/', '--collect-only']
否则nose
会认为'-w test_dir/testsetA/
是一个参数。