找回密码
 立即注册
搜索

TestNG单测插件

sx_lityliao 2024-7-9 14:14:00
插件类别 测试
插件分类 定制
插件标识 TestNG
兼容DevOps版本 v7.0 v6.0 
概述 利用TestNG可以检查代码覆盖率
v6.0下载
https://devops-bkrepo.canway.net/generic/j98808/plugin/v6.0%2FTestNG.zip?download=true
v7.0下载
https://devops-bkrepo.canway.net/generic/j98808/plugin/v7.0%2FTestNG_7.0.30.tar.gz?download=true

一.插件概述

1.插件名称

TestNG 单测插件


2.核心价值

该插件用于在流水线中自动化执行 TestNG 测试用例并生成详细测试报告,支持跨操作系统环境运行,通过 Maven 命令运行测试用例,自动解析 Surefire 格式的测试报告,提取关键测试指标(如测试总数、失败数、执行时间等)。


3.适应版本

适配 DevOps 平台6.0及以上稳定版本


二.核心使用场景

该插件主要适用于 Java 项目的自动化测试场景,可集成到持续集成流程中实现测试结果的自动分析与反馈,具体场景包括:

  • Java 项目持续集成测试:在代码编译完成后自动触发 TestNG 测试,快速反馈代码质量问题

  • 多环境测试一致性校验:跨 Windows、Linux 等操作系统运行测试用例,确保测试结果不受环境影响

  • 测试结果可视化呈现:自动提取测试指标并输出,便于流水线后续步骤(如邮件通知、报告归档)调用

  • 失败用例精准定位:解析失败用例的堆栈轨迹与错误行号,降低问题排查成本


三.详细使用手册

1.前提条件

  • 已在 DevOps 平台6.0及以上版本中安装 “TestNG 单测” 插件;

    2.jpg
  • 流水线工作空间已配置 Maven 环境(支持执行 `mvn` 命令);

  • 项目已集成 TestNG 依赖与 Surefire 插件,确保可通过 Maven 命令生成标准 XML 测试报告。


2.测试执行与结果处理流程

  • 步骤1:执行测试命令
    在流水线工作空间中运行命令:`mvn clean test -Dmaven.test.failure.ignore=true`,其中 `-Dmaven.test.failure.ignore=true` 表示忽略测试失败,确保命令执行完成后继续后续报告解析步骤。

  • 步骤2:测试报告校验
    检查工作空间下的 `target/surefire-reports` 目录是否存在:若不存在,判定为测试失败,输出错误信息“target 下的 surefire-reports 目录不存在”;若存在,进入报告解析环节。

  • 步骤3:测试报告解析
    - 扫描 `target/surefire-reports` 目录下的 XML 测试报告文件,自动排除 `testng-failed.xml` 等辅助文件;
    - 使用 `TestSuiteXmlParser` 工具解析 XML 报告,提取测试套件、测试用例名称、执行状态(成功/失败/跳过)等信息;
    - 按包名对测试套件进行分组统计,便于按业务模块查看测试结果;
    - 收集失败测试用例的详细信息,包括错误消息、堆栈轨迹、错误行号等。

  • 步骤4:结果输出与状态判定
    (1)输出指标 计算并输出以下核心测试指标至插件输出参数:
    - `totalTests`:测试总数
    - `totalErrors`:测试错误数量
    - `totalFailures`:测试失败数量
    - `totalSkipped`:测试跳过数量
    - `totalElapsedTime`:测试总执行时间
    - `totalPercentage`:测试成功率
    (2)状态判定 - 成功:测试执行完成 + 报告解析成功;
    - 失败:报告目录不存在 / 报告解析抛出异常 / 命令执行返回非预期错误代码(注:测试用例失败不会导致插件状态失败,因命令已配置忽略测试失败)。

您需要登录后才可以回帖 立即登录
共收到 0 条点评
返回顶部