美文网首页
『心善渊』Selenium3.0基础 — 39.单元测试框架un

『心善渊』Selenium3.0基础 — 39.单元测试框架un

作者: 繁华似锦Fighting | 来源:发表于2020-09-18 02:11 被阅读0次

(四)跳过测试

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()

执行结果:


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()

结果:

相关文章

网友评论

      本文标题:『心善渊』Selenium3.0基础 — 39.单元测试框架un

      本文链接:https://www.haomeiwen.com/subject/vzdfyktx.html