我試圖解析輸出爲TAP格式的BATS腳本(https://github.com/gaia-adm/docker-bench-test)的輸出。我稍微修改了腳本以涵蓋CIS 1.13而不是1.11,但我不知道如何讓Jenkins Pipeline處理該輸出。你可以使用Jenkins管道解析TAP格式嗎?
我知道有一個Jenkins插件TAP格式,但我不認爲這適用於Jenkins Pipeline Groovy腳本。
我試圖解析輸出爲TAP格式的BATS腳本(https://github.com/gaia-adm/docker-bench-test)的輸出。我稍微修改了腳本以涵蓋CIS 1.13而不是1.11,但我不知道如何讓Jenkins Pipeline處理該輸出。你可以使用Jenkins管道解析TAP格式嗎?
我知道有一個Jenkins插件TAP格式,但我不認爲這適用於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()}"
}
輸出
Number of tests found : 3
Test Set failed? : true
通過tap.parse()
返回的對象:隨着水龍頭插件安裝我能得到我的聲明管道腳本顯示org.tap4j.model.TestSet
使用以下命令從tap文件中測試結果:
stage('publish test results') {
steps {
step([$class: "TapPublisher", testResults: "**/reports/*.tap"])
}
}
How do i use the "Publish TAP Results" plugin on Jenkins 2.0 Pipeline?