繁体   English   中英

Python跳过单元测试

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM