每次构建后,面对一堆令人眼花缭乱的测试数据,是不是总觉得脑壳疼?别急,这篇指南能帮你把它们变成清晰易懂的可视化报告。
01 入门指南:认识Jenkins测试报告
作为一个流行的自动化工具,Jenkins在持续集成/持续部署(CI/CD)过程中扮演着关键角色,用于执行各种构建、测试和部署任务。
但很多人搭建好Jenkins后,面对测试输出的一堆杂乱数据,往往感到无从下手。
这正是Jenkins测试报告功能要解决的问题。简单来说,测试报告就是将测试生成的原始数据(如XML、JSON文件)转换为可视化、易于理解的格式。
想象一下,如果没有良好的测试报告,开发团队需要登录服务器,查看密密麻麻的日志文件,就像在没有地图的陌生城市里找路一样困难。
而配置良好的测试报告则像给了团队一张清晰的导航图,不仅能看到测试通过与否,还能洞察性能趋势、失败详情,甚至历史对比数据。
Jenkins通过不同颜色和图标来区分构建状态,让状态一目了然:
- 失败构建:用红色球表示,意味着测试失败或构建任务存在严重问题(如编译错误)。
- 不稳定构建:黄色球表示,指的是质量未达足够标准的构建。
当构建包含测试失败时,在构建任务主页上,“最新测试结果”链接会显示当前构建任务中的测试失败数量,以及与上次构建相比失败数量的变化。
02 报告基础:理解Jenkins测试报告的结构
要充分发挥Jenkins测试报告的威力,首先需要了解它的基本结构和工作原理。
测试结果趋势图中,之前构建的测试失败也会以红色显示。
测试结果页面结构:Jenkins会先按模块(对于Maven构建任务)或按高级包组织(对于自由风格的构建任务)显示测试结果摘要。
你可以从每个包的测试结果摘要开始,逐步深入查看每个测试类及其中的测试。
Jenkins测试报告的核心组成:
- 测试结果趋势图:展示随时间推移测试通过率的变化,清晰呈现项目质量走势
- 包/模块摘要:按代码组织结构分组显示测试结果,快速定位问题区域
- 详细测试用例列表:每个测试用例的状态、持续时间、失败原因等详细信息
- 历史对比数据:与之前构建的测试结果进行对比,了解质量变化
如果有测试失败,它会显著显示在页面顶部。
原始测试数据与报告的关系:
大多数测试框架(如JUnit、TestNG、pytest等)都能生成XML格式的测试结果, Jenkins的各类测试报告插件则负责读取这些XML文件,解析并生成统一的视觉报告。
这就意味着,无论你使用什么编程语言或测试框架,只要它能输出兼容的测试结果文件,Jenkins就能将它转化为易读的报告。
03 工具集:常用测试报告插件介绍
Jenkins的强大之处在于其丰富的插件生态系统,测试报告相关的插件多种多样,以下是几个最常用且实用的插件:
3.1 JUnit插件
JUnit插件是Jenkins中最基础、最常用的测试报告插件之一。它不仅能处理Java JUnit测试结果,还能解析任何符合JUnit XML格式的测试结果文件。
这意味着即使你使用Python(pytest)、Ruby(RSpec)或C++等语言,只要配置测试框架输出JUnit兼容的XML,就能使用此插件。
3.2 TestNG插件
TestNG插件专门用于处理TestNG测试框架生成的报告,它提供了丰富的配置选项。
要发布TestNG结果,你需要在构建后操作中添加“Publish TestNG Results”步骤,并配置以下关键参数:
- TestNG XML report pattern:用于定位TestNG XML报告文件的文件名模式(例如
**/target/testng-results.xml)。 - Escape exception messages:是否对测试方法的异常消息进行转义(默认启用,禁用则允许使用HTML标签格式化异常消息,但可能遭受跨站脚本攻击)。
- Escape Test Description string:是否转义测试描述字符串(默认启用)。
通过设置阈值,你可以精确控制构建的失败或不稳定状态:
- Fails - Failed Threshold:当失败测试的数量/百分比超过指定阈值时,构建被标记为FAILURE。
- Skips - Failed Threshold:当跳过的测试数量/百分比超过指定阈值时,构建被标记为FAILURE。
- Fails - Unstable Threshold:当失败测试的数量/百分比超过指定阈值时,构建被标记为UNSTABLE。
- Skips - Unstable Threshold:当跳过的测试数量/百分比超过指定阈值时,构建被标

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



