gpt4 book ai didi

java - 作为 Jenkins 构建的一部分运行 Spock 测试

转载 作者:行者123 更新时间:2023-12-02 02:42:10 25 4
gpt4 key购买 nike

我目前有一个使用 Jenkins 自动化的构建。 Jenkins 构建/部署作业使用 maven 构建 Java EAR,然后将构建的 EAR 部署到服务器。

我想将 Spock 测试集成到此构建/部署流程中。构建 EAR 后,我想针对 EAR 代码运行 Spock 测试。如果所有测试都通过,那么我想继续部署 EAR。如果一项或多项测试失败,那么我希望 Jenkins 构建/部署作业失败并返回错误。

我还想显示测试结果的摘要,无论测试结果是通过还是失败。

为了完成此任务,我需要对 Jenkins 构建/部署作业、实际构建 EAR 和/或 Spock 测试的 Maven 项目进行哪些更改?

最佳答案

您可以将 Spock 视为 JUnit 扩展。因此,所有帮助您运行 JUnit 支持的测试的工具也适用于 spock。

例如,

  • 如果您使用 Maven,则可以使用 maven-surefire-plugin 或 maven-failsafe-plugin 来运行 spock 驱动的测试。
  • 如果您想在 Jenkins 中查看结果,可以使用“构建后”操作并显示“发布 Junit 测试结果报告”

现在,令人困惑的部分是关于 EAR。测试(单元和集成)通常在构建准备就绪之前运行。 EAR 准备就绪后,您可能想要运行系统测试(端到端流程)或其他测试。这意味着 spock/junit/任何其他框架必须从外部联系 EAR,这又意味着您必须启动应用程序服务器,并且这些测试将类似于远程客户端。

这是可能的,但设置会复杂得多(所有数据库、应用程序服务器本身等等),但这超出了这个问题的范围。

关于java - 作为 Jenkins 构建的一部分运行 Spock 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45289734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com