自动执行unittest时,判断上个用例是否通过,如果失败则下个用例进行跳过
时间: 2024-02-06 20:02:03 浏览: 102
可以使用unittest中的skipIf和skipUnless装饰器来实现这个功能。在每个测试用例执行前,使用skipIf和skipUnless判断上一个用例是否通过,如果没有通过,则跳过当前用例。具体代码如下:
``` python
import unittest
class MyTestCase(unittest.TestCase):
def test_case1(self):
self.assertEqual(1+1, 2)
@unittest.skipIf(MyTestCase.test_case1.result != unittest.TestResult().wasSuccessful(), "skip because last test case failed")
def test_case2(self):
self.assertEqual(2+2, 4)
@unittest.skipIf(MyTestCase.test_case2.result != unittest.TestResult().wasSuccessful(), "skip because last test case failed")
def test_case3(self):
self.assertEqual(3+3, 6)
```
在上面的代码中,我们使用了unittest.skipIf装饰器来判断上一个用例的执行结果。我们使用了MyTestCase.test_case1.result获取test_case1的执行结果,如果是成功的,则执行test_case2;如果失败了,则跳过test_case2,直接执行test_case3。
阅读全文