使用BeautifulReport生成测试报告及遇到的雷点

news/2025/2/12 17:49:04/

BeautifulReport是一个基于unittest框架的测试报告生成工具,它可对自动化测试生成美观、详细的HTML测试报告。

使用BeautifulReport需要先安装

pip install BeautifulReport

示例

一个加法功能的测试用例,使用unittest+BeautifulReport实现自动化并生成测试报告

#!/usr/bin/env python
# -*- coding: UTF-8 -*-from BeautifulReport import BeautifulReport
import unittestdef add(a, b):return a + b# 加法功能测试用例
class Test11(unittest.TestCase):# 测试用例1def test_addition_1(self):result = add(2, 3)self.assertEqual(result, 5)# 测试用例2def test_addition_2(self):result = add(0, 0)self.assertEqual(result, 0)# 测试用例3def test_addition_3(self):result = add(-5, 5)self.assertEqual(result, 1)if __name__ == "__main__":# 创建测试套件对象suite = unittest.TestSuite()# 加载测试用例suite.addTests([Test11('test_addition_1'), Test11('test_addition_2'), Test11('test_addition_3')])# 创建 BeautifulReport 的实例result = BeautifulReport(suite)# 定义测试报告,设置文件名、用例名称、路径result.report(filename='report.html', description='加法功能测试用例', report_dir='D:/Programs/Test/Auto_Test')

上述代码使用了 unittest框架管理测试用例,使用 BeautifulReport 模块来生成漂亮的测试报告。

我们定义了一个名为 add 的函数,用于进行两个数相加的操作,我们来针对这个函数写测试用例。

定义一个名为 Test11 的测试类,并继承自 unittest.TestCase

在该类中,我们编写了三条测试用例:test_addition_1test_addition_2test_addition_3,分别对加法运算进行了不同的测试断言。

接下来,在主程序中创建了一个 TestSuite 对象,并使用 suite.addTest() 方法将三个测试方法分添加到 TestSuite 中。

然后,通过实例化 BeautifulReport(suite) 来生成漂亮的测试报告,并指定文件名、描述和报告保存目录。

最后,调用 report() 方法生成测试报告。

控制台打印结果:

报告打开方式:找到路径,右键open,选择想打开的浏览器

查看报告

BeautifulReport的常用方法和详解

  1. BeautifulReport(__init__) 构造函数:__init__(self, runner=None):初始化 BeautifulReport 对象,可以传入指定的 runner,默认使用 unittest 的 TextTestRunner。

  2. add_test() 方法:add_test(self, test, report_title='Test Report'):添加需要生成报告的测试套件,可以设置报告标题,默认为 "Test Report"。

  3. report() 方法:report(filename='report.html', description='Test Report'):生成测试报告,将结果保存到指定的文件中,默认为 "report.html"。 参数说明:

    • description:报告描述信息,默认为 "Test Report"。
    • filename:要保存的文件名,默认为 "report.html"。
  4. BeautifulReportTestRunner 类(继承自 TextTestRunner):

    • 通过替换 unittest 的 TextTestRunner 实现在运行时调用 BeautifulReport 生成报告。
    • 可以使用该类来代替默认的 TextTestRunner 来运行测试,并生成美观的报告。

雷点:用了unittest框架,beautifulreport的报告文件无法生成

问题:运行测试用例一切正常,只是没有生成测试报告,且main函数里的print函数也都无法打印出来。

因为用了unittest框架,pycharm 在运行测试用例的时候 默认是以unittest 框架来运行的,所以主函数的内容没有执行了。

所以不

需要改成用非unittest框架执行,就可以了,操作步骤如下:

编辑配置

可以看到有一个python配置和一个tests配置,下面这个就是用的unittest框架执行,我们需要吧要执行的文件改到上面的python里

添加,选择python

设置,选择需要得文件,ok,apply,ok

再去执行就可以了


http://www.ppmy.cn/news/1297896.html

相关文章

市场复盘总结 20240109

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 昨日主题投资 连板进级率 66% 二进三: 进级率低 最常用的二种方法: 方法一&#x…

Vue_00001_CLI

初始化脚手架 初始化脚手架步骤: 第一步(仅第一次执行):全局安装vue/cli。 命令:npm install -g vue/cli 第二步:切换到要创建项目的目录,然后使用命令创建项目。 命令:vue creat…

力扣(leetcode)第383题赎金信(Python)

383.赎金信 题目链接:383.赎金信 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote…

nginx下upstream模块详解

目录 一:介绍 二:特性介绍 一:介绍 Nginx的upstream模块用于定义后端服务器组,以及与这些服务器进行通信的方式。它是Nginx负载均衡功能的核心部分,允许将请求转发到多个后端服务器,并平衡负载。 在upst…

Vue3-39-路由-导航异常的检测 afterEatch 与 编程式导航之后的订阅动作

说明 本文主要是介绍一下 路由的后置守卫 afterEatch 的一个重要的作用 : 就是检测路由异常信息。 它的实现方式是 通过第三个参数来返回的。 而且,它的异常检测是全局的。导航的异常有以下三种类型: aborted : 在导航守卫中 被拦截并返回了…

【实用工具指南 三】CHAT-GPT4接入指南

好消息,CHAT-GPT4终于开放订阅了,聪明的人已经先用上了,先上个图。 但是去订阅的时候发现银行卡验证不通过,后来一查必须是老美的州才行,于是买了个美元虚拟卡 接下来就比较简单,直接找客服把GPT的充值界…

并发程序设计--D11D12进程间通信

概念:就是进程和进程之间交换信息。 常用通信方式 无名管道(pipe) 有名管道 (fifo) 信号(signal) 共享内存映射(mmap) 套接字(socket) 过时的IPC通信方式 System…

Influxdb2修改管理员密码

通过恢复管理员令牌来重置InfluxDB2管理员的密码 1.找到数据库的配置文件 一般为config.json 2.配置文件的的blod文件配置 3.在这个混合文本和二进制json文件中搜索已知的用户名或token之类的字符串。 例如: "id":"0bd73badf2941000","…