python – 鼻子测试运行器查找除标签之外的所有测试

我试图找出是否有办法让鼻子测试跑步者运行所有测试,除了具有特定标签的测试.看起来这可以通过属性实现,但我不知道是否有办法用标签来做,标签是属性的一个子集.

目前我通过调用使用标签

nosetests -a tags='tag'

我的标记测试看起来像:

@attr(tags=['foo', 'bar', 'baz'])
    def test_some_stuff(self):

但如果我想运行除’baz’标记之外的所有测试,我该怎么做?

我试过像

nosetests -A 'not baz'
nosetests -a '!baz'
nosetests tags='!baz'

但是这些似乎对属性没有任何影响.我没有看到在文档中排除标记的示例:http://nose.readthedocs.org/en/latest/plugins/attrib.html

我宁愿不必添加一个新标签,只是为了排除我正在使用的这个大型测试套件,并且必须记住总是添加一个假的“排除标签”.

解决方法:

你需要压扁你的标签.指定它的方式意味着您有一个属性,具有复杂的列表值.

而是将整个标记范围指定为直接属性.

 # coding: utf-8
 from nose.plugins.attrib import attr


 @attr("foo", "bar", "baz")
 def test1():
     print "I'm test1"


 @attr("foo")
 def test_2():
     print "I'm test2"

然后nosetests -a’!bar’/ tmp / test.py按需运行.

上一篇:regex java:如何在泛型的开始标记和结束标记之间替换泛型中的字符串


下一篇:php – 在2个元素之间获取HTML内容