鼻子在目录中收集测试

时间:2013-02-18 20:34:42

标签: python nose

我试图从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中的测试,但我宁愿从我指定的目录中收集测试。有没有办法做到这一点?

2 个答案:

答案 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/是一个参数。