• Python 单元测试


     使用【测试套件】批量执行【测试用例】的步骤:

    # 1
    import unittest
    
    # 2.加载测试用例所在的模块
    from Python_unittest import two_num_add as num_add
    from Python_unittest import two_num_multi as num_multi
    
    # 3. 创建测试套件
    one_suite = unittest.TestSuite()
    
    # 4.通过模块来批量加载测试用例
    # 定义测试加载器对象
    one_loader = unttest.TestLoader()
    one_suite.addTest(one_loader.loadTestsFromModule(num_multi))  # 执行顺序与套件添加的顺序有关
    one_suite.addTest(one_loader.loadTestsFromModule(num_add))
    
    # 5.执行用例
    # 创建执行器对象
    one_runner = unittest.TextTestRunner()
    one_runner.run(one_suite)
    

     使用【discover】

    import unittest
    
    # one_suite = unittest.defaultTestLoader.discover(".")    # .代表当前py文件所在的路径
    one_suite = unittest.defaultTestLoader.discover(r"C:UsersKYPycharmProjectsPython_Automated_Testing_Class_20Python_0715_unittest")
    
    # 创建执行器对象
    one_runner = unittest.TextTestRunner()
    one_runner.run(one_suite)
    

      

    在【测试用例】unit.TestCase模块:

    setUp(self) 与 tearDown(self) : 每个用例 开始 / 结束 执行时都会调用这个实例方法。

    class TestMulti(unittest.TestCase):
    
        def setUp(self):
            """
            在每一个用例执行之前, 会调用setUp实例方法
            :return:
            """
            log_filename = "record_run_result.txt"
            self.one_file = open(log_filename, mode='a', encoding='utf-8')  # 创建了一个one_file实例属性
            print("打开【{}】文件".format(log_filename))
            self.one_file.write("
    {:=^40s}
    ".format("开始执行用例"))  # 对字符串进行格式显示, 为了好看
    
        def tearDown(self):
            """
            当每一条用例执行结束之后, 会自动调用tearDown实例方法
            :return:
            """
            self.one_file.write("{:=^40s}
    ".format("执行用例结束"))
            self.one_file.close()
    

      

    setUpClass(cls)与tearDownClass(cls):所有用例执行 开始 / 结束 时都会调用这个类方法。

    class TestMulti(unittest.TestCase):
    
        @classmethod
        def setUpClass(cls):
            """
            在所有用例执行之前, 会调用一次setUpClass类属性
            :return:
            """
            log_filename = "record_run_result.txt"
            cls.one_file = open(log_filename, mode='a', encoding='utf-8')  # 创建了一个one_file实例属性
            print("打开【{}】文件".format(log_filename))
            cls.one_file.write("
    {:=^40s}
    ".format("开始执行用例"))  # 对字符串进行格式显示, 为了好看
    
        @classmethod
        def tearDownClass(cls):
            """
            在所有用例执行之后, 会调用一次tearDownClass类属性
            :return:
            """
            cls.one_file.write("{:=^40s}
    ".format("执行用例结束"))
            cls.one_file.close()
    

      

  • 相关阅读:
    知识点:定义input type=file 样式的方法(转)
    笔记:认识 head 标签 待 更新中……
    检讨:关于上班迟到那么‘ 一两分钟 ’的事儿
    js--局部变量
    数十万互联网从业者的共同关注!
    js--javascript中字符串常用操作总结、JS字符串操作大全
    JavaScript中浏览器兼容问题
    js--性能优化(转)
    js-知识点
    让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法--(转)
  • 原文地址:https://www.cnblogs.com/jszfy/p/11198450.html
Copyright © 2020-2023  润新知