如果测试失败,我如何标记ci ci构建失败?

问题描述 投票:0回答:1

我正在使用concourse ci管道运行一些自动化测试。我的要求是,如果任何测试失败,则将构建标记为失败并通过电子邮件发送结果。有没有办法在大厅这样做?电子邮件功能运行正常,但是即使测试失败,构建也可以通过。

jmeter concourse
1个回答
0
投票

如果您是running JMeter in command-line non-GUI mode,您的命令需要返回non-zero exit status code

即使测试失败,JMeter进程也会有0退出代码,因此任何CI系统都将执行视为成功:

enter image description here

[如果您正在寻找仅JMeter的解决方案,则可以在测试计划中添加JSR223 Assertion并将以下代码放入“脚本”区域:

if (!prev.isSuccessful()) {
    props.put('failure', 'true')
}

然后将tearDown Thread Group添加到您的测试计划中,并使用以下代码将JSR223 Sampler放在此处:

if (props.get('failure').equals('true')) {
    System.exit(1)
}

如果JSR223断言Scope中的任何Sampler失败-整个JMeter过程将以退出代码1完成,任何上游处理系统都将其视为错误。

enter image description here


[另一种选择是考虑使用Taurus工具作为JMeter测试的包装器,Taurus提供了灵活的pass/fail criteria subsystem,可让您定义阈值以考虑测试是否成功。如果超过阈值,Taurus将返回非零退出代码,该代码应由场所(或其他软件)“理解”。

© www.soinside.com 2019 - 2024. All rights reserved.