我正在尝试解析 BATS 脚本的输出(https://github.com/gaia-adm/docker-bench-test https://github.com/gaia-adm/docker-bench-test) 输出为 TAP 格式。我稍微修改了脚本以覆盖 CIS 1.13 而不是 1.11,但我不知道如何使 Jenkins Pipeline 处理该输出。
我知道有一个适用于 TAP 格式的 Jenkins 插件,但我不相信这适用于 Jenkins Pipeline Groovy 脚本。
@Grab 仅当您的詹金斯可以访问互联网时才有效
工作区/job_name/tap.groovy
@Grab(group='org.tap4j', module='tap4j', version='4.2.1')
import org.tap4j.consumer.TapConsumerFactory
def parse(def src){
return TapConsumerFactory.makeTap13Consumer().load(src)
}
return this
工作区/job_name/test.tap
1..3
ok 1 - no error
not ok 2 - io error
ok 3 - no error
管道脚本
node{
def tap = load 'tap.groovy'
tap = tap.parse( readFile('test.tap') )
echo "Number of tests found : ${tap.getNumberOfTestResults()}"
echo "Test Set failed? : ${tap.containsNotOk()}"
}
Output
Number of tests found : 3
Test Set failed? : true
返回的对象tap.parse()
: org.tap4j.model.TestSet http://tap4j.sourceforge.net/apidocs/org/tap4j/model/TestSet.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)