[英]Python Skipping Unittests
我有需要按特定顺序运行的Python 2.7硒单元测试,并且如果一个测试在一个类中失败,则在该类中运行其余测试没有任何意义。 我知道这很糟糕,测试应该独立运行。
在下面的代码中,我试图使用test_a设置bar = False,以便跳过test_f。 这对我不起作用,我试图找出原因。
from unittest import TestCase, main as unittest_main, skipIf
class TestSimpleFoo(TestCase):
foo = 'bar'
bar = True
def setUp(self):
pass
def test_a(self):
self.assertEqual(self.__class__.foo, 'bar')
self.__class__.foo = 'can'
# can i skip test_f ???
self.__class__.bar = False
@skipIf(bar == False, "skipping")
def test_f(self):
self.assertEqual(self.__class__.foo, 'can')
if __name__ == '__main__':
unittest_main()
您的意思是,当在test_a
之前运行test_f
时,这不起作用?
这是正常行为,因为条件是在构造装饰器时测试的,即在执行test_a
之前(注册单元测试类时)。
感觉好像您想在以前的测试损坏时停用测试,但这不是正确的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.