zoukankan      html  css  js  c++  java
  • 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)

    执行结果

  • 相关阅读:
    iframe,table,window.open求救问题
    你的明星臉~~哈哈~~~(要附正面照片哦==)
    DataGrid的表頭排序問題(GridView雷同了啦)
    致歉(TO师傅)
    程式設計師的著裝(哈哈哈~~~)
    SQL(top与group by)求助
    MySql与超级终端
    hdu 1061 Rightmost Digit
    hdu 2669 Romantic
    poj 1061 青蛙的约会
  • 原文地址:https://www.cnblogs.com/testlearn/p/14424218.html
Copyright © 2011-2022 走看看