配置NoseTests查看的目录

时间:2015-05-26 14:12:19

标签: python nose nosetests

我一直在使用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以这种方式不太可编辑!我确信这是可能的,但我有点失落。有人可以帮忙吗?谢谢!

1 个答案:

答案 0 :(得分:1)

想出来了!以下似乎可以解决问题:

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