我一直在使用nosetests来运行我的python测试。但是,我的目录布局有点困难,如下所示:
|-- src
| `-- <bunch of c++ files>
|-- python
| |-- foo
| |-- bar.py
| `-- __init__.py
`-- tests
|-- __init__.py
`-- test_bar.py
当我从代码库的根目录运行nosetests -w tests
时,nosetest无法按照我的意愿将“python”目录添加到sys.path中。如果我将“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
以这种方式不太可编辑!我确信这是可能的,但我有点失落。有人可以帮忙吗?谢谢!
答案 0 :(得分:1)
想出来了!以下似乎可以解决问题:
import nose
c = nose.config.Config()
c.srcDirs = ('python')
nose.run(config=c)