我们正在尝试使用Jenkins作为我们的CI / CD解决方案,并且如果我们的TestNG测试不符合设置的通过率阈值,则希望能够使部署失败。
目前我们的Jenkins作业通过maven执行我们的TestNG测试,因此任何测试失败都会将构建标记为失败。即任何低于100%通过率的东西都会使构建工作失败。
我们希望能够使其可配置 - 例如,如果通过率低于98%,则测试作业失败。
这是我可以通过一些插件在Jenkins作业中控制或配置的东西,还是我必须在TestNG监听器内编码,即onFinish()
并根据计算的通过率设置返回值?
答案 0 :(得分:0)
我假设你的测试用例中存在一些瑕疵导致你即使有2%的失败也会使构建通过?否则,我说不到100%是构建失败。
话虽如此,如何使用Sonar?
有了它,当单元测试成功时,你可以使构建失败。 98%(参见一些示例屏幕截图here)。
您也可以在其他场合失败。例如,当覆盖率降至某个数量以下或发现严重问题时。此外,您还可以获得包含所有与构建相关的指标的仪表板的额外奖励。
当质量门低于某个阈值时,您需要下载名为Build Breaker的插件,该插件将无法构建。
有一点需要注意的是,Sonarqube人建议你don't use this plugin。因此,您也可以执行query the Sonar rest api之类的操作并使构建失败或等到add core support for it。