1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
sap-jenkins-library/documentation/docs/steps/testsPublishResults.md
Christopher Fenner d657f0dc28
testsPublishResults: add option to fail the build on test errors (#472)
* add option to fail the build on test errors

* fix typo

* add test cases

* adjust docs

* set build result

* add hasTestFailure utils method

* use utils method

* use dedicated type

* adapt tests

* handle missing test actions

* Update testsPublishResults.md

* Update JenkinsUtils.groovy

* Update JenkinsUtils.groovy

* Update JenkinsUtils.groovy

* remove comments

* adapt test case

* Update TestsPublishResultsTest.groovy
2019-02-08 12:30:59 +01:00

4.4 KiB

testsPublishResults

Description

This step can publish test results from various sources.

Prerequsites

Pipeline configuration

none

Explanation of pipeline step

Usage of pipeline step:

testsPublishResults(
  junit: [updateResults: true, archive: true],
  jacoco: [archive: true]
)

Available parameters:

parameter mandatory default possible values
script yes  
failOnError no false true, false
junit no false true, false
jacoco no false true, false
cobertura no false true, false
jmeter no false true, false
  • script - The common script environment of the Jenkinsfile running. Typically the reference to the script calling the pipeline step is provided with the this parameter, as in script: this. This allows the function to access the commonPipelineEnvironment for retrieving, for example, configuration parameters.
  • failOnError - If failOnError it set to true the step will fail the build if JUnit detected any failing tests.
  • junit - Publishes test results files in JUnit format with the JUnit Plugin.
  • jacoco - Publishes code coverage with the JaCoCo plugin .
  • cobertura - Publishes code coverage with the Cobertura plugin.
  • jmeter - Publishes performance test results with the Performance plugin.

Each of the parameters junit, jacoco, cobertura and jmeter can be set to true or false but also to a map of parameters to hand in different settings for the tools.

junit

parameter mandatory default possible values
pattern no '**/TEST-*.xml'
archive no false true, false
updateResults no false true, false
allowEmptyResults no true true, false

jacoco

parameter mandatory default possible values
pattern no '**/target/*.exec'
include no '' '**/*.class'
exclude no '' '**/Test*'
archive no false true, false
allowEmptyResults no true true, false

cobertura

parameter mandatory default possible values
pattern no '**/target/coverage/cobertura-coverage.xml'
archive no false true, false
allowEmptyResults no true true, false
onlyStableBuilds no true true, false

jmeter

parameter mandatory default possible values
pattern no '**/*.jtl'
errorFailedThreshold no 20
errorUnstableThreshold no 10
errorUnstableResponseTimeThreshold no ``
relativeFailedThresholdPositive no 0
relativeFailedThresholdNegative no 0
relativeUnstableThresholdPositive no 0
relativeUnstableThresholdNegative no 0
modeOfThreshold no false true, false
modeThroughput no false true, false
nthBuildNumber no 0
configType no PRT
failBuildIfNoResultFile no false true, false
compareBuildPrevious no true true, false
archive no false true, false
allowEmptyResults no true true, false

Step configuration

Following parameters can also be specified as step parameters using the global configuration file:

  • junit
  • jacoco
  • cobertura
  • jmeter

Side effects

none

Exceptions

none

Example

// publish test results with coverage
testsPublishResults(
  junit: [updateResults: true, archive: true],
  jacoco: [archive: true]
)
// publish test results with coverage
testsPublishResults(
  junit: [pattern: '**/target/TEST*.xml', archive: true],
  cobertura: [pattern: '**/target/coverage/cobertura-coverage.xml']
)