首页 > 解决方案 > 让 Junit 测试结果显示在 TeamCity 的测试选项卡中

问题描述

我有一份 TeamCity 工作,可以通过以下方式构建我的项目:

  1. 跑步docker build
  2. 在 Dockerfile 中,将执行RUN ["mvn", "clean", "package"]

我正在使用 Maven、JUnit5 和 SureFire。我想将我的单元测试结果通过管道传输到 TeamCity 的测试选项卡中,但我不确定如何使用我当前的设置来做到这一点。

在我的 Jest 设置中,我使用的是jest-teamcity-reporter. 我发现的唯一 JUnit 插件是Serenity TeamCity StepListener,但我无法在 TeamCity 的测试选项卡上显示测试结果。

标签: maventestingjunitteamcitymaven-surefire-plugin

解决方案


当构建步骤的运行器类型为 Maven 时,TeamCity 支持开箱即用的 JUnit 测试。

我在这里看到两个选项:

  • 您使用 docker 构建,因此在 Maven 步骤的“Docker 设置”下选择一个选项以在 docker 容器中运行构建步骤。然后,JUnit 测试报告将被自动挑选。请参阅 TeamCity Docker 设置文档。

  • 另一方面,您可以像往常一样运行构建并使用XML 报告处理TeamCity 功能导入测试报告。不要忘记将创建测试报告的容器卷挂载到 TeamCity 结帐目录中。为此,请将以下挂载选项传递给docker run ...命令:

    --mount "type=bind,source=$PWD/surefire-reports,destination=/your/container/dir/surefire-reports

您可以使用这两个选项中的任何一个,这对您来说看起来很方便。


推荐阅读