我一直在使用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上,object nosetests.config.Config具有以下条目:
self.srcDirs = ('lib', 'src')我认为我的问题的解决方案是将这个元组设置为('python')。理想情况下,我希望仍然从命令行运行nosetests,但将srcDirs配置选项设置为'python‘。鼻子允许这样做吗?我在nosetests的帮助下扫描了一下,找不到任何相关的设置。我试着写了一个配置文件nose.cfg,看起来像这样:
[nosetests]
srcDirs=('python')并运行nosetests -c nose.cfg -w tests,但显然这不是有效的配置设置。我还尝试跳过nosetests,尝试我自己的runner,mynosetests.py
import nose
nose.config.Config.srcDirs = ('python')
nose.main()但是很明显,nose.config.Config不能以这种方式进行编辑!我相信这是可能的,但我有点迷路了。有人能帮上忙吗?谢谢!
发布于 2015-05-28 16:35:23
我想通了!下面的代码似乎可以解决这个问题:
import nose
c = nose.config.Config()
c.srcDirs = ('python')
nose.run(config=c)https://stackoverflow.com/questions/30461071
复制相似问题