基于先前测试的合格性跳过测试

est_et 发布于 2019-06-12 django 最后更新 2019-06-12 21:16 1 浏览

我正在使用django测试套件,并试图弄清楚如果以前的测试失败,我如何运行后续测试。那可能吗?

已邀请:

id_sed

赞同来自:

我是这样做的:

  1. 在测试用例中共享一个名为test_condition_a = False的全局变量。
  2. test_a中尝试/捕获断言,并在失败时捕获异常,以便您可以在测试退出之前设置test_condition_a = True
  3. 仅在test_a失败时才运行所有其他测试用例,请使用@unittest.skipIf(test_condition_a)
编辑第二个想法,由于测试顺序是随机的,因此上述情况不会起作用。你最好的选择是做这样的事情
class Test(TestCase):
    def setUp(self):
        ...
@unittest.skip("Skip by default")
    def testB(self):
        #test code
def testA(self):
        try:
            #test code
            return True
        except Error:
            return False
def testA_then_B(self):
        if (self.testA()):
            self.testB()