• unittest测试框架之测试用例类


    unittest测试框架之测试用例类

    1. 自己定义的类只要继承unittest中的TestCase,那么这个类就是一个测试用例类
    2. 测试用例类中,以test开头的方法就是一条测试用例
    3. 用例执行是否通过的评判标准-->>断言异常

    先准备一个简单功能函数测试两数相加

    def sum(a, b):
        return a + b
    

    一、测试用例类(自定义的测试用例类要继承unittest中的TestCase)

    class SumTestCase(unittest.TestCase):
        pass
    

    二、测试用例(以test开头的方法就是一条测试用例)

    测试用例类中,以test开头的方法就是一条测试用例

        def test_sum(self):
            pass
    
    ①:准备用例数据
            # 1.参数(元组类型)
            data = (1, 2)
            # 2.预期结果
            expected = 2
    
    ②:执行功能函数(对元组data进行拆包),获取实际结果
            result = sum(*data)
    
    ③:通过断言比对预期结果和实际结果
            self.assertEqual(expected, result)
    
    * 对③做一个小优化
    * 比对结果时,如果如实际结果不符合,则会发生断言异常,
    * 这时候就可以通过捕获异常来打印用例是否通过,
    * 捕获完异常一定要再抛出异常
            try:
                self.assertEqual(expected, result)
            except AssertionError as a:
                print("用例未通过")
                raise a
            else:
                print("用例通过")
    

    继承父类的方法:

        def setUp(self):
            # 每条用例执行之前都会执行
            print("用例{}开始执行--".format(self))
    
        def tearDown(self):
            # 每条用例执行之后都会执行
            print("用例{}执行结束--".format(self))
    
        @classmethod
        def setUpClass(cls):
            # 当成测试用例类中的用例执行之前,会执行改方法
            print("-----setup---classs-----")
    
        @classmethod
        def tearDownClass(cls):
            # 当成测试用例类中的用例执行完毕,会执行改方法
            print("-----teardown---classs-----")
    

    如果直接运行这个文件,就是用unittest中的main函数来执行测试用例,也可以直接运行测试方法

    if __name__ == '__main__':
        unittest.main()
    
  • 相关阅读:
    redis 持久化
    Linux 配置 FastDFS
    查询相关
    外键查询
    pycharm 使用git
    比较时间
    文件导入import
    切分,字符串转列表
    时间相关
    django 自带序列化组件效果
  • 原文地址:https://www.cnblogs.com/desireyang/p/12090313.html
Copyright © 2020-2023  润新知