Nose在目录中收集测试

0 投票
2 回答
533 浏览
提问于 2025-04-17 16:18

我想从一个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/ 当成一个整体的参数来处理。

撰写回答