Python 鼻子测试跑步者查找除标签外的所有测试
我试图找出是否有一种方法可以让nose test runner运行除带有特定标记的测试之外的所有测试。看起来这在属性中是可能的,但是我不知道是否有一种方法可以用标签来实现,标签是属性的子集Python 鼻子测试跑步者查找除标签外的所有测试,python,tags,nosetests,Python,Tags,Nosetests,我试图找出是否有一种方法可以让nose test runner运行除带有特定标记的测试之外的所有测试。看起来这在属性中是可能的,但是我不知道是否有一种方法可以用标签来实现,标签是属性的子集 # coding: utf-8 from nose.plugins.attrib import attr @attr("foo", "bar", "baz") def test1(): print "I'm test1" @attr("foo") def test_2():
# 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 tags='tag'
我的标记测试如下所示:
@attr(tags=['foo', 'bar', 'baz'])
def test_some_stuff(self):
但如果我想运行所有的测试,除了“baz”标记之外,我该怎么做呢
我试过这样的表达
nosetests -A 'not baz'
nosetests -a '!baz'
nosetests tags='!baz'
但这些似乎对属性没有任何影响。我没有看到在文档中排除标记的示例:
我不希望仅仅为了排除而在这个大型测试套件中添加一个新的标记,我必须记住总是添加一个假的“排除标记”。您需要展平您的标记。指定它的方式意味着您有一个属性,其复杂值为list 相反,将整个标记范围指定为立即属性
# 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
可以根据需要工作。啊,这是有道理的。我只是在尝试这个想法,谢谢你的帮助!