在Python测试脚本中传递nose选项

12 投票
2 回答
5771 浏览
提问于 2025-04-16 23:39

我不想通过命令行来运行我的nose测试,而是使用一个测试运行器,这个运行器会为所有测试准备一些东西,比如连接到本地的MongoDB测试实例。nose的文档似乎只说明了如何通过命令行或你家目录下的配置文件来传递选项。那么,有没有办法在用脚本运行测试时传递选项,比如--with-xunit?

2 个回答

18

Nose在处理第一个参数时做了一些小手脚,所以这个参数没有被解析。我写的Nose包装器大概是这样做的:

import nose
import sys

argv = sys.argv[:]
argv.insert(1, "--with-xunit")
nose.main(argv=argv)

另外,这样做的好处是,你的程序使用者可以通过Nose的参数来控制程序的行为!

8

像这样:

import nose

argv = ['fake', '--with-xunit']
nose.main(argv=argv)

这里需要加一个“假”的参数,用来代替可执行文件的名字,正如dbw的回答中所说的那样。

撰写回答