当前位置:  开发笔记 > 编程语言 > 正文

在Python测试脚本中传递选项

如何解决《在Python测试脚本中传递选项》经验,为你挑选了2个好方法。

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



1> dbn..:

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

import nose
import sys

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

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


鼻子不是偷偷摸摸:)重点是`argv`列表总是以可执行文件的名称开头.因此,当你说`argv = [' - with-xunit']`时,你可以将可执行文件的名称设置为`--with-xunit`,并且不传递任何参数.要解决这个问题,请使用`argv = ['fake',' - with-xunit']`

2> mouad..:

像这样:

import nose

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

必须添加"假"参数以代表可执行文件名,如dbw的答案中所述.


我想我知道为什么这不起作用.Nose不使用argv的第一个参数来配置自身.这可能也会导致并行执行问题?
推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有