2015-05-26 28 views
1

我一直在使用nosetests來運行我的python測試。不過,我堅持我的目錄結構,它看起來像這樣一點:配置NoseTests看起來的目錄

|-- src 
| `-- <bunch of c++ files> 
|-- python 
| |-- foo 
|  |-- bar.py 
|  `-- __init__.py 
`-- tests 
    |-- __init__.py 
    `-- test_bar.py 

當我從代碼庫的根目錄運行nosetests -w tests,nosetest失敗的「蟒蛇」目錄添加到SYS。我想要的路徑。如果我將「python」目錄重命名爲「lib」,這可以正常工作,但是我認爲這有點令人困惑的目錄名稱!

nose documentation對象nosetests.config.Config具有如下條目:

self.srcDirs = ('lib', 'src') 

我認爲,解決我的問題。將這個元組設置爲('python')。理想情況下,我想要從命令行運行nosetests,但將srcDirs配置選項設置爲'python'。鼻子允許嗎?我通過nosetests的幫助掃描並找不到任何相關設置。我試着寫一個配置文件nose.cfg看起來像這樣:

[nosetests] 
srcDirs=('python') 

和運行nosetests -c nose.cfg -w tests,但顯然這不是一個有效的配置設置。我也試圖跳過nosetests,並試圖自己亞軍,mynosetests.py

import nose 
nose.config.Config.srcDirs = ('python') 
nose.main() 

但顯然nose.config.Config不是以這種方式相當編輯!我相信這是可能的,但我有點失落。任何人都可以幫忙嗎?謝謝!

回答

1

想通了!以下似乎是伎倆:

import nose 
c = nose.config.Config() 
c.srcDirs = ('python') 
nose.run(config=c)