zoukankan      html  css  js  c++  java
  • 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)

    四、生成结果图:

     

  • 相关阅读:
    sabaki and leelazero
    apply current folder view to all folders
    string operation in powershell
    wirte function in powershell
    add environment path to powershell
    Module in powershell
    sql prompt
    vmware中鼠标在部分区域不能使用
    调整多个控件的dock的顺序
    行为型模型 策略模式
  • 原文地址:https://www.cnblogs.com/lizhe860/p/9041693.html
Copyright © 2011-2022 走看看