maven - 让 Junit 测试结果显示在 TeamCity 的测试选项卡中
问题描述
我有一份 TeamCity 工作,可以通过以下方式构建我的项目:
- 跑步
docker build
- 在 Dockerfile 中,将执行
RUN ["mvn", "clean", "package"]
我正在使用 Maven、JUnit5 和 SureFire。我想将我的单元测试结果通过管道传输到 TeamCity 的测试选项卡中,但我不确定如何使用我当前的设置来做到这一点。
在我的 Jest 设置中,我使用的是jest-teamcity-reporter
. 我发现的唯一 JUnit 插件是Serenity TeamCity StepListener
,但我无法在 TeamCity 的测试选项卡上显示测试结果。
解决方案
当构建步骤的运行器类型为 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
您可以使用这两个选项中的任何一个,这对您来说看起来很方便。
推荐阅读
- ios - 如何在 swift 中设置 AppDelegate 以进行推送通知
- c# - 将 ImageSource 转换为位图
- php - 通过键组合单个数组中的值
- intellij-idea - 包含什么 kotlin 库来获取 AbstractKotlinInspection?
- javascript - Angular Reactive 表单渲染问题破坏了表单
- django - 下拉菜单未出现在模板中由 django 呈现的表单中
- matlab - 在图像中寻找像素变化最大的区域
- angular - ng update 和 npm update 有什么区别?
- java - 如何使用比较器实现 Treemap?
- angular - npm install --save web-animations-js 不工作