• unittest_skip跳过用例执行(3)


    在执行测试用例时,有时候有些用例是不需要执行的,比如版本迭代用例弃用,测试周期短只需要执行优先级高的用例,那我们怎么办呢?难道删除这些用例?那下次执行时如果又需要执行这些用例时,又把它补回来?这样操作就太麻烦了,我们可以使用unittest提供的一些跳过指定用例的方法来规避这些问题。

    unittest跳过用例的方法如下:

    • @unittest.skip(reason):无条件用例。reason是跳过原因,下同。
    • @unittest.skipIf(condition, reason):condition为True时跳过用例。
    • @unittest.skipUnless(condition, reason):condition为False时跳过用例。
    import unittest
    
    # 定义预执行用例的优先级(假如用例分为4级,数字越小优先级越高)
    case_level = 3
    
    
    class Demo(unittest.TestCase):
    
        @unittest.skip("废弃用例,不执行!(强制跳过)")
        def test_a(self):
            print("test_a被执行")
    
        # 当预执行的用例优先级(3)高于用例的优先级(4)时,则用不执行例
        @unittest.skipIf(case_level < 4, "当前用例优先级低,不执行!(条件为True,则跳过)")
        def test_b(self):
            print("test_b被执行")
    
        # 当预执行的用例优先级(3)高于用例的优先级(4)时,则不执行用例
        @unittest.skipUnless(case_level > 4, "当前用例优先级低,不执行!(条件为False,则跳过)")
        def test_c(self):
            print("test_c被执行")
    
    
    if __name__ == '__main__':
        # 识别指定目录下所有以test开头的文件以及文件中的用例,并将用例自动添加到测试套中
        test_cases_dir = "./test_cases/"
        suite = unittest.defaultTestLoader.discover(test_cases_dir)
    
        # 生成执行器
        runner = unittest.TextTestRunner(verbosity=2)
        # 执行用例
        runner.run(suite)

    执行结果

  • 相关阅读:
    python学习第三课
    Linux基本操作知识一
    Linux是什么
    Django 多对多 关系
    Django 解决跨域
    支付宝支付
    django中间件
    DRF一对多序列化和反序列化
    python代码实现购物车(django的redis与vue)
    Spring 依赖注入两种方式
  • 原文地址:https://www.cnblogs.com/testlearn/p/14424218.html
Copyright © 2020-2023  润新知