zoukankan      html  css  js  c++  java
  • 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()
    
  • 相关阅读:
    java并发编程(五)——线程池
    java并发编程(四)——无锁
    java并发编程(三)——java内存模型
    java并发编程(二)——加锁
    java并发编程(一)——进程与线程
    java中的异常和处理机制
    使用JDK自带的keytool工具生成证书
    JAVA 制作证书
    网络安全之证书相关概念
    maven之.lastUpdated文件
  • 原文地址:https://www.cnblogs.com/desireyang/p/12090313.html
Copyright © 2011-2022 走看看