前言:

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

一、下载HTMLTestRunnerNew.py文件:

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

二、安装:

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

  如:D:\Python35\Lib

  在执行测试用例的时候引入,引入的方式: 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)

四、生成结果图:

unittest单元测试生成HTML测试报告的更多相关文章

  1. Unittest单元测试框架——BeautifulReport测试报告和Yagmail自动发送邮件

    一.前言 之前在做appium自动化的时候,已经提到过unittest框架的基本概念.用例执行,以及BeautifulReport测试报告的简单使用了(地址:https://www.cnblogs.c ...

  2. unittest测试框架和测试报告的输出实例(一)

    我们整个自动化才是报告的环节基本上分为三个部分: 1.测试用例的准备 2.测试用例的执行 3.测试报告的输出 1.测试用例的准备: 那我们就以搜孤网页做一个简单的用例: from selenium i ...

  3. appium+python+unittest+HTMLRunner登录自动化测试报告

    环境搭建 python3Java JDK.netFrameworknodejsandroid SDKappiumAppium-Python-Client(pip install Appium-Pyth ...

  4. 【unittest】unittest单元模块做assert

    我在Windows上开发Python用的版本是2.7,在Ubuntu上开发的版本是2.6,而在Python的unittest模块中,有几个方法是在2.7才有的,它们是: Method Checks t ...

  5. Python + selenium之组织unittest单元测试用例

    当增加被测功能和相应的测试用例之后unittest单元测试框架如何扩展和组织新增的测试用例的. # coding =utf-8 # calculator class Count (): def __i ...

  6. python调用HTMLTestRunner+unittest实现一次执行多个测试类,并生成与每个测试类对应的测试报告,具体看代码,附上整个project代码

    python自动化框架雏形,根据自己需要封装:ui自动化,接口自动化均可适用,python版本为python3.x,不要问我为什么不用python2.x,附上整个project代码:http://fi ...

  7. unittest详解(七) 自动生成测试报告

    用例执行完成后,执行结果默认是输出在屏幕上,其实我们可以把结果输出到一个文件中,形成测试报告. unittest自带的测试报告是文本形式的,如下代码: import unittest if __nam ...

  8. 简单的接口测试类和测试生成报告工具HTMLTestRunner.py

    Demo.py #coding:utf-8 # import requests import json ''' data = { 'username':'jackson', 'password':'a ...

  9. unittest(1)

    一.unittest核心概念 1.unittest四个核心概念 unittest四个核心概念包括:TestCase.TestSuite.TestRunner.Test Fixture TestCase ...

随机推荐

  1. spring bean实例化的三种方式

    一.使用类的无参构造创建 配置文件 java代码 注意若类里面没有无参的构造,则会出现异常 二.使用静态工厂创建 配置文件 java代码 Factory类 测试类 结果 三.使用实例工厂 配置文件 1 ...

  2. Bootstrap学习5--bootstrap中的模态框(modal,弹出层)

    bootstrap中的模态框(modal),不同于Tooltips,模态框以弹出对话框的形式出现,具有最小和最实用的功能集. 务必将模态框的 HTML 代码放在文档的最高层级内(也就是说,尽量作为 b ...

  3. PHP eval函数使用介绍

    eval()函数中的eval是evaluate的简称,这个函数的作用就是把一段字符串当作PHP语句来执行. 复制代码代码如下: eval("echo'hello world';") ...

  4. TS视频一

    ts文件 ts文件为传输流文件,视频编码主要格式h264/mpeg4,音频为acc/MP3. ts文件分为三层:ts层Transport Stream.pes层 Packet Elemental St ...

  5. 解决pod没有权限问题

    chmod 644 路径 echo $? 检测上一条命令的执行结果,如果是0则执行成功

  6. css3条纹边框效果

    在线演示 本地下载

  7. Java+MySql图片数据保存

    之前一直没有做过涉及到图片存储的应用,最近要做的东东涉及到了这个点,就做了一个小的例子算是对图片存储的初试吧! 1.创建表: drop table if exists photo; CREATE TA ...

  8. ThinkPad.E440_安装固态硬盘

    1.ThinkPad(E440) 加装SSD固态硬盘,并改装双硬盘_百度经验.html(https://jingyan.baidu.com/article/9f63fb91856ec7c8400f0e ...

  9. 一 Django框架介绍——用pycharm创建Django项目

    Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内 ...

  10. c++能过,g++过不了

    可能原因: 1.  输出double类型数据时,不能用%lf,应该用%f(详见 关于输出用%lf和%f的问题 ) double n=100; 代码1:错误 c++--------accepted g+ ...