2013-02-18 59 views
0

我想從一個Python腳本收集特定目錄中的所有測試與鼻子。鼻收集在一個目錄中的測試

我的目錄結構看起來像

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中的哪些測試,但我寧願直接從我指定的目錄收集測試。有沒有辦法做到這一點?

回答

1

您應該從目錄拆分-w

args = ['-w', 'test_dir/testsetA/', '--collect-only'] 

否則nose會認爲'-w test_dir/testsetA/是一個參數。

2

如果您正在使用Python 3.X,你應該把它寫這樣的:

args = ['--py3where', 'test_dir/testsetA/', '--collect-only']