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()
    
  • 相关阅读:
    pig实战 pig常用语法总结,教你快速入门——算法篇
    本科生码农应该会的6种基本排序算法(《数据结构与算法》)
    java 大块内存做数据缓存 大数据的高效收发
    一键安装zookeeper脚本制作篇 相关经验浅谈
    C语言第01次作业顺序、分支结构
    C语言 第三次作业函数
    hashmap笔记
    ArrayList排序与对象的序列化
    插入排序笔记(MIT算法导论课程)
    java解析四则运算表达式
  • 原文地址:https://www.cnblogs.com/desireyang/p/12090313.html
Copyright © 2011-2022 走看看