【问题标题】:Junit tests with gitlab-ci使用 gitlab-ci 进行 Junit 测试
【发布时间】:2021-05-23 15:13:18
【问题描述】:

这就是我的情况:

我对 gitlab-ci 还很陌生。我不托管自己的 gitlab 实例,而是将所有内容推送到 gitab 本身。我没有使用也不熟悉任何构建工具,如 Maven。我通常从 IDE 而不是终端工作和运行我的程序。

这是我的问题:

当我推送我的 Java 项目时,我希望我的管道启动我编写的 Junit 测试。虽然我发现了各种用于除 Java 之外的其他语言的简单命令来运行单元测试,但对于 Junit,我没有遇到任何问题。我刚刚发现有人使用 Maven,在本地运行测试,然后将测试报告推送到 gitlab。甚至可以在没有像 Maven 这样的构建工具的情况下使用管道在 gitlab 服务器上轻松运行 Junit 测试吗?我必须在本地运行它们吗?我是否必须学习使用 Java 终端命令启动它们?我已经找了好几天了。

【问题讨论】:

标签: java junit gitlab-ci


【解决方案1】:

documentation is clear:

要在合并请求中启用单元测试报告,您需要在.gitlab-ci.yml 中添加artifacts:reports:junit,并指定生成的测试报告的路径。
报告必须是.xml 文件,否则为GitLab returns an Error 500

然后,您就有了 Ruby、Gio、Java(Gradle 或 Maven)和其他语言的各种示例。

但是有了GitLab 13.12(2021 年 5 月),情况会变得更好:

测试报告中的失败测试截图

GitLab 让团队可以使用 Selenium 等自动化工具轻松设置端到端测试,这些工具将失败测试的屏幕截图作为工件捕获。
在您必须整理大量的屏幕截图以查找调试失败测试所需的特定屏幕截图之前,这非常棒。
最终,您可能会因为沮丧而放弃,而只是在本地重新运行测试以尝试找出问题的根源,而不是浪费更多时间。

现在,您可以从管道页面上单元测试报告的详细信息屏幕直接链接到捕获的屏幕截图。

这使您可以快速查看捕获的屏幕截图以及堆栈跟踪,以尽快确定失败的原因。

请参阅 DocumentationIssue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-01
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    • 2021-09-28
    • 2015-10-24
    相关资源
    最近更新 更多