• unittest单元测试生成HTML测试报告


    前言:

      HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展,它可以生成 HTML的 测试报告。

    一、下载HTMLTestRunnerNew.py文件:

      下载链接:https://pan.baidu.com/s/1wqZIWN08h_cvvh0qorQI1g

    二、安装:

      将下载的文件保存到Python安装目录Lib下:

      如:D:Python35Lib

      在执行测试用例的时候引入,引入的方式: from HTMLTestRunnerNew import HTMLTestRunner

    三、单元测试源码如下:

      1)定义被测试函数:加法、减法、乘法、除法。

      mathfunc.py 
    # 创建测试方法
    def add(a,b):
        print('测试加法功能')
        return a+b
    
    def minus(a,b):
        print('测试减法功能')
        return a-b
    
    def multi(a,b):
        print('测试乘法功能')
        return a*b
    
    def divide(a,b):
        print('测试除法功能')
        return a/b

      2)针对项目编写测试用例,使用基本的断言语句assert来对结果进行验证,其执行顺序按照函数名以ASCII码进行。

      编写规则:

    • 测试文件以test_开头(以_test结尾也可以)
    • 测试类以Test开头,并且不能带有 __init__ 方法
    • 测试函数以test_开头
    • 断言使用基本的assert即可
      test_mathfunc.py 
    import unittest     # 导入单元测试框架
    from mathfunc import *    #导入需要测试的方法
    
    # 创建测试用例
    class TestMath(unittest.TestCase):  #继承TestCase类
        def test_add(self):   
            self.assertEqual(3, add(1,2))    #设置断言
            self.assertNotEqual(5, add(3,2))
    
        def test_minus(self):    
            self.assertEqual(3, minus(5,2))
            self.assertNotEqual(2,minus(3,2))
    
        def test_multi(self):
            self.assertEqual(6,multi(2,3))
            self.assertNotEqual(5,multi(2,3))
    
        def test_divide(self):
            self.assertEqual(3,divide(6,2))
            self.assertNotEqual(2,divide(6,2))
    
    if __name__ == '__main__':
        unittest.main()    

       3)加载用例并执行,以HTML测试报告展现:

      run.py 

    import unittest
    import HTMLTestRunnerNew    # 输出html测试结果方法使用
    from test_mathfunc import TestMath    #导入用例模块
    import os
    
    # ---加载测试用例------------
    suite = unittest.TestSuite()    #创建实例 测试套件/测试用例的容器
    loader = unittest.TestLoader()  #创建实例
    
    #直接加载某个测试 模块 里面的所有用例
    suite.addTest(loader.loadTestsFromTestCase(TestMath)) 
    
    # 测试结果输出在Html
    with open(os.getcwd() + '/testResult_report.html','wb+') as file:
        runner = HTMLTestRunnerNew.HTMLTestRunner(file,title='单元测试报告',description='单元测试',tester='lixhaozhe')
        runner.run(suite)

    四、生成结果图:

     

  • 相关阅读:
    dialogue中需要添加编辑器
    表格增加整行和删除整行
    树形菜单配合element-ui模糊搜索和鼠标单击选择内容变色并且滚动
    格式金钱【摘抄与网络,记录】
    element-ui日期选择器
    普通上传
    axios另类封装
    Android permission 访问权限大全
    Android Timer 的 schedule()方法定时循环切换图片
    Android 设置图片倒影效果
  • 原文地址:https://www.cnblogs.com/lizhe860/p/9041693.html
Copyright © 2020-2023  润新知