接口测试 - python - 接口依赖(根据前一个用例结果,跳过指定用例)

场景:根据用例1的结果来判断是否要跳过用例2

 

unittest的装饰器skip方法,装饰器中的变量先于测试用例执行,所以取不到用例1中的结果。解决方案:在测试用例中使用skipTest()方法,如下:

import unittest

b = 0


class Mytest_1(unittest.TestCase):

    def setUp(self) -> None:
        pass

    def tearDown(self) -> None:
        pass

    def test_1(self):
        global b
        b = 3

    def test_2(self):  # 被成功跳过
        if b == 3:
            self.skipTest('skip reason')
        print('2 pass')

    @unittest.skipIf(b == 3, 'skip reason')
    def test_3(self):  # 没跳过,因为装饰器中的b先于test_1执行,b值为0
        print('3 pass')


if __name__ == '__main__':
    unittest.main()

执行结果如下( 可以看到只有test_2()被跳过了):

 

ps:跳过的用例,不在测试报告中体现

 

 

 

ps:

@unittest.skipIf(True, 'skip_reason')  1.是装饰器,既可以作用于类,也可以作用于方法  2.跳过条件一般为常量
self.skipTest('skip_reason') 1.是执行语句,写在方法内,跳过该方法  2.可根据不同变量值跳过,较灵活

posted @ 2022-02-28 16:53  小虫虫大虫虫  阅读(90)  评论(0编辑  收藏  举报