Python跳过单元测试

时间:2018-11-14 23:07:59

标签: python python-unittest

我有需要按特定顺序运行的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()

1 个答案:

答案 0 :(得分:0)

您的意思是,在test_a之前运行test_f时,这不起作用吗?

这是正常行为,因为条件是在构造装饰器时测试的,即在执行test_a之前(注册单元测试类时)。

如果以前的测试已损坏,您似乎想停用测试,但这不是正确的方法。