『心善渊』Selenium3.0基础 — 27、unittest中跳过测试的使用

1、什么是跳过测试

当测试用例写完后,有些模块有改动时候,会影响到部分用例的执行,这个时候我们希望暂时跳过这些用例。或者前面某个功能运行失败了,后面的几个用例是依赖于这个功能的用例,如果第一步就失败了,后面的用例也就没必要去执行了,为了节省用例执行时间,可选择直接跳过测试。

2、常用的跳过测试方法和装饰器

当执行有想要跳过的测试,我们可以通过skipskipIfskipUnless装饰器跳过某个测试方法或者测试类。

  1. @unittest.skip(reason)skip(reason)装饰器,无条件跳过装饰的测试,并说明跳过测试的原因。
  2. @unittest.skipIf(reason)skipIf(condition,reason)装饰器,条件为真时,跳过装饰的测试,并说明跳过测试的原因。
  3. @unittest.skipUnless(reason)skipUnless(condition,reason)装饰器,条件为假时,跳过装饰的测试,并说明跳过测试的原因。
  4. @unittest.expectedFailure:测试标记为失败。

3、跳过测试示例

"""
1.学习目标
    了解unittest中跳过测试方法使用
2.语法
    2.1 放置在需要跳过的测试用例之前
        @跳过测试方法
        测试用例
    2.2 分类
        @unittest.skip(跳过原因):表示无条件跳过执行
        @unittest.skipIf(判断条件,跳过原因): 当判断条件为真时,跳过测试
        @unittest.skipUnless(判断条件,跳过原因):当判断条件为假时,跳过测试
        @unittest.expectedFailure:  直接将用例标记为失败
3.需求
    编写测试类,使用跳过测试
"""
# 1 导入unittest
import unittest


# 2 创建测试类
class Test_demo(unittest.TestCase):

    # 3 编写test case
    # 第一条测试用例正常执行
    def test_case_01(self):
        """测试用例1"""
        print("执行测试用例1")

    # 添加skip,不执行测试
    @unittest.skip("无条件跳过")
    def test_case_02(self):
        """测试用例2"""
        print("执行测试用例2")

    # 添加skipif,条件为真跳过测试
    @unittest.skipIf(True, "条件为真,跳过测试")
    def test_case_03(self):
        """测试用例3"""
        print("执行测试用例3")

    # 添加skipIf,条件为假执行测试
    @unittest.skipIf(2 > 3, "条件为假,执行用例")
    def test_case_04(self):
        """测试用例4"""
        print("执行测试用例4")

    # 添加skipUnless,条件为假不执行测试
    @unittest.skipUnless(False, "条件为假,跳过测试")
    def test_case_05(self):
        """测试用例5"""
        print("执行测试用例5")

    # 添加skipUnless,条件为真执行测试
    @unittest.skipUnless(True, "条件为真,执行用例")
    def test_case_06(self):
        """测试用例6"""
        print("执行测试用例6")

    # 添加expectedFailure,直接将用例标记为失败
    @unittest.expectedFailure
    def test_case_07(self):
        """测试用例7"""
        print("执行测试用例7")

    def test_case_08(self):
        """测试用例8"""
        print("执行测试用例8")

if __name__ == '__main__':
    # 执行当前测试类中,以test开头的测试用例
    unittest.main()

执行结果

image

4、TestCase.skipTest()方法

TestCase.skipTest()方法跳过某个测试方法(了解)。

示例

# 1 导入unittest
import unittest


# 2 创建测试类
class TestDmeo(unittest.TestCase):

    # 3 编写test case
    def test_case_01(self):
        """测试用例1"""
        print("执行测试用例1")

    #  TestCase.skipTest()方法
    def test_case_02(self):
        """测试用例2"""
        # 跳过测试方法
        self.skipTest('跳过用例test_case2')
        print("执行测试用例2")


if __name__ == '__main__':
    # 执行当前测试类中,以test开头的测试用例
    unittest.main()

执行结果

image

posted @ 2021-07-15 10:01  繁华似锦Fighting  阅读(163)  评论(0编辑  收藏  举报