Squish Jenkins 插件在测试失败时返回 0

Squish Jenkins plugin returning 0 while tests fail

失败的测试导致我们的 "Open Blue Ocean" 管道概述中出现绿球。当我阅读手册 (https://doc.froglogic.com/squish/latest/rg-cmdline.html) 时,这是根据规范,但使用 --exitCodeOnFail 应该会导致我们期望的行为。在我们的 Jenkinsfile 中,我们编写了以下脚本:

squish([extraOptions: """--tags
${tag}

--retry
2

--config
addAppPath
${squishsrcdir}

--config
addAUT
startSimProApp.bat
${squishsrcdir}

--exitCodeOnFail
-666

--config
setResponseTimeout
30""", squishPackageName: 'squish for qt 6.5.2', testSuite: "${squishsrcdir}", unstableBuildOnError: true])

不幸的是,这会导致以下错误:

com.froglogic.squish.SquishException: unknown option --exitCodeOnFail

squish插件版本为:8.1.1

当测试在 squish 下失败时,我有哪些选择可以得到红球?

Squish 插件不支持 --exitCodeOnFail 选项。 看看 https://doc.froglogic.com/squish/latest/ao-hudson.html#ao-jenkins-example-pipeline-jobs

squish 步骤既不设置构建也不设置阶段结果。它 returns 将执行结果改为字符串。您的管道可能会根据返回值采取行动。您可以在上面链接的章节中的最后一个屏幕截图中找到示例。

Squish 在将返回的 Squish 测试套件执行状态与重试与作业的最终结果相匹配时有一个已知问题(已报告并有望解决)。例如,如果您的测试在第一次重试期间失败并在下一次重试时通过,则作业的最终状态将保持为 unstable/failed.