在Python测试脚本中传递选项

时间:2011-08-15 20:33:58

标签: python nose

我没有从命令行运行我的鼻子测试,而是使用测试运行器为所有测试设置了一些东西,包括与MongoDB的本地测试实例的连接。仅针对nose的文档似乎表明如何通过命令行或位于主目录中的配置文件传递选项。有没有办法传递选项,例如--with-xunit在使用脚本运行测试时?

2 个答案:

答案 0 :(得分:16)

Nose在第一个参数上做了一些偷偷摸摸的事情,所以它没有被解析。我的鼻子包装做了这样的事情:

import nose
import sys

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

作为奖励,这允许程序的客户端使用Nose参数来控制其行为!

答案 1 :(得分:8)

像这样:

import nose

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

必须添加“假”参数以代表可执行文件名,如dbw的回答中所述。