【问题标题】:How to fail a Jenkins job based on pass rate threshold of testng tests如何根据 testng 测试的通过率阈值使 Jenkins 工作失败
【发布时间】:2016-08-11 11:35:59
【问题描述】:

我们正在尝试使用 Jenkins 作为我们的 CI/CD 解决方案,并希望能够在我们的 TestNG 测试未达到设定的通过率阈值时使部署失败。

目前我们的 Jenkins 作业通过 maven 执行我们的 TestNG 测试,因此任何测试失败都会将构建标记为失败。 IE。任何低于 100% 的通过率都会导致构建作业失败。

我们希望能够使其可配置 - 即如果通过率低于 98%,则测试作业失败。

这是我可以通过一些插件在 Jenkins 作业中控制或配置的东西,还是我必须为内部 TestNG 侦听器编写代码,即 onFinish() 并根据计算的通过率设置返回值?

【问题讨论】:

标签: maven jenkins testng jenkins-plugins


【解决方案1】:

我假设您的测试用例中存在一些缺陷,导致您即使有 2% 的失败也能通过构建?否则,我会说任何低于 100% 的东西都是构建失败。

话虽如此,使用Sonar 怎么样?

有了它,您可以在单元测试成功率 here)。

您也可以在其他情况下使构建失败。例如,当覆盖率下降到一定数量以下或发现关键问题时。此外,您还将获得包含所有构建相关指标的仪表板的额外奖励。

您需要下载一个名为 Build Breaker 的插件,当质量门低于某个阈值时,该插件将导致构建失败。

需要注意的一点是,Sonarqube 的人建议您使用 don't use this plugin。因此,您还可以执行 query the Sonar rest api 之类的操作并导致构建失败或等到他们 add core support for it

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-20
    相关资源
    最近更新 更多