gpt4 book ai didi

jenkins - 如何让 xunit 在失败时停止 Jenkins 管道?

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

This guy seems to have the same problem .

这就是我正在做的事情:

    stage('Test') {
steps {
bat "\"${tool 'VSTestRunner'}\" %WORKSPACE%\\MyApp\\bin\\Debug\\MyApp.dll /logger:trx & exit 0"
// The test publish is responsible for decided whether the test stage failed
step([$class : 'XUnitPublisher',
testTimeMargin: '3000',
thresholdMode: 1,
thresholds: [
[$class: 'FailedThreshold', failureNewThreshold: '', failureThreshold: '1', unstableNewThreshold: '', unstableThreshold: ''],
[$class: 'SkippedThreshold', failureNewThreshold: '', failureThreshold: '', unstableNewThreshold: '', unstableThreshold: '']
],
tools : [[$class: 'MSTestJunitHudsonTestType',
deleteOutputFiles: true,
failIfNotNew: false,
pattern: "TestResults\\*.trx",
skipNoTestFiles: false,
stopProcessingIfError: true
]]
])

}
}

如果测试失败,管道仍会继续。

我希望能够通过 xunit 设置控制管道是否继续。有没有比这更优雅的方法:

if (currentBuild.result.equals("FAILURE")) {
throw "Test results did not pass thresholds"
}

另外,“stopProcessingIfError”有什么作用?我认为如果超过错误阈值它会停止管道,但事实并非如此。 xunit 服务是否有一个参数可以做到这一点?

最佳答案

FAILED、SUCCESS 和 UNSTABLE 是 jenkins 构建状态而不是退出状态。退出状态应该来自正在执行的进程。因此,如果测试失败,您的解决方案是设置 exit 1 (或非零值)。您的批处理步骤似乎正在设置退出 0。检查 ERRORLEVEL,就像您在 Windows 中一样,如果它非零,则通过强制“退出 1”从管道中退出

注意:它可以是任何值,但不应该是 0。(我指的是退出代码中的 1)

关于jenkins - 如何让 xunit 在失败时停止 Jenkins 管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45723559/

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