You need to enable JavaScript to run this app.
导航
单元测试
最近更新时间:2024.12.13 11:08:58首次发布时间:2024.12.13 11:08:58

持续交付预置 单元测试 任务,支持对 Java Maven、Java Gradle、Python、Go 语言进行单元测试。本文以 Go单元测试 为例,为您介绍该预置任务的使用说明。

前提条件

已在代码仓库中添加单元测试的测试用例。

使用限制

  • Go 单元测试
    • 测试命令必须包含-json
    • 测试命令中,中间文件必须为cover.out
    • 测试命令中,需要使用命令mkdir创建测试报告目录。
  • 不支持性能测试,example 测试用例。
  • Java Gradle 单元测试暂不支持解析测试报告,无法使用质量门禁功能。

添加任务

创建或编辑流水线时,在 流程编排 页签,单击 添加任务,弹出 添加任务 抽屉。任务模板选择 测试 > Go单元测试

参数说明

下文为您介绍该预置任务的参数。

  • 任务名称
    默认为 Go 单元测试,支持自定义任务名称。

  • 上游任务
    展示当前任务的上游串行任务名称。无上游任务时展示为-

  • 代码源下载策略
      根据当前任务是否需要使用代码源,选择代码源下载策略。

    • 下载代码:当前任务需要下载代码源。
    • 不下载代码:当前任务无需使用代码源。
  • 步骤
    当前任务包含一个默认预置步骤(Go 单元测试)。支持根据需要为当前任务添加其他串行步骤。下文介绍该默认预置步骤的参数。
    alt

    配置项说明
    步骤名称默认为 Go 单元测试,支持自定义步骤名称。
    版本选择 Go 单元测试使用的工具版本。不同语言支持的版本以控制台展示为准。
    测试命令输入 Go 单元测试的命令。命令框中为默认的测试命令,请根据实际业务自行调整。
    目录显示测试命令执行后生成的测试报告所在目录,流水线将自动上传该目录下的所有文件。 支持修改默认目录,修改时,需同步修改测试命令中的目录参数。
    文件显示单元测试命令执行后生成的测试报告文件,流水线会自动解析并展示文件内容。支持修改默认文件。修改时,需同步修改测试命令中的文件参数。
    文件入口显示 html 格式的测试报告文件名称。支持修改默认文件入口,修改时,需同步修改测试命令中的文件入口参数。

    质量门禁

    支持使用质量门槛值作为单元测试是否通过的判断条件,您可使用失败数、成功率、覆盖率作为判断指标。

    • 支持设置多条指标条件。
    • 设置多条指标条件时,可设置满足所有条件为质量门槛通过,也可设置满足任一条件为质量门槛通过。

    失败时跳过

    可选配置。

    • 开启:当前步骤运行失败直接跳过,当前任务其余步骤可继续执行,流水线也可继续向下运行。
    • 关闭:当前步骤失败后,当前任务其余步骤不再执行,流水线将运行失败。
  • 任务输出
    展示当前任务输出的所有产物,包含当前任务下所有步骤的产物。无产物时展示为-。产物可用于后续任务的输入。
    对于当前默认预置步骤,将输出测试用例总数、失败数、跳过数、成功率、覆盖率、测试报告文件和测试报告 html。

  • 高级设置

    • 资源规格:为当前任务选择公共资源池使用的 CPU 和内存上限。
    • 超时时间:以任务维度设置每个步骤的自动超时时间。任一步骤运行超时,将不再执行其他串行步骤,整个任务判定为执行失败。
    • Webhook 通知:支持通过 Webhook 和飞书机器人两种方式推送任务维度的消息,帮助您及时掌握任务动态。

日志及产物

下文为您介绍该预置任务运行完成后,流水线展示的详情信息。
在当前流水线的运行详情页面,单击 Go 单元测试卡片的标题,查看运行日志、产物及任务配置信息。
alt

  • 运行日志:实时展示该任务的运行日志。

  • 任务配置:展示该任务的配置参数,详情可参考前文的参数说明。

  • 产物:运行成功后,单元测试任务会输出以下产物。

    • 测试用例总数、失败数、跳过数、覆盖率和成功比例。
    • 单元测试文件:对于 Go 单元测试,会输出测试报告文件,单击可下载至本地。
    • 单元测试报告:单击可在线查看报告内容。

    说明

    Java 单元测试的 覆盖率 统计值受外部 mirror 源影响,可能导致最终覆盖率计算不一致,建议仅作参考。除此之外,其他单元测试指标均准确可信。