如何以编程方式指定nose的xml输出

1 投票
1 回答
2112 浏览
提问于 2025-04-17 16:25

我正在用Nose从一个脚本运行测试。我想指定一个xunit的xml输出文件。文档上说我可以用--xunit-file=FILE这个选项来实现。

我有

noseargs = ['--with-xunit', '--xunit-file=output.xml', '--tests=mytest']
nose.run(argv=noseargs)

运行这个之后,output.xml文件并没有生成。我发现如果把这两个参数调换一下,让它看起来像这样:

noseargs = ['--xunit-file=output.xml', '--with-xunit', '--tests=mytest']
nose.run(argv=noseargs)

它会在我的工作目录下创建一个nosetests.xml文件。所以看起来--with-xunit这个参数需要先处理,然后再指定文件。请问关于如何指定文件,有什么特别的地方我没有注意到吗?

1 个回答

4

Nose会把argv的第一个参数吃掉,因为在命令行上,这个参数是程序的名字。

这适用于:

noseargs = ['foo', '--with-xunit', '--xunit-file=output.xml', '--tests=mytest']
nose.run(argv=noseargs)

撰写回答