The following example pipeline demonstrates the process of generating unit test results in a Maven build and recording the results to the run log for later viewing in Pipelines.
The pipeline defines a GitRepo resource that contains the Java application, and a BuildInfo resource for the resulting build.
pipelines.resources.yml
resources: - name: java_app type: GitRepo configuration: gitProvider: MyGithub path: myproject/simple-maven-sample branches: include: master - name: my_build_info type: BuildInfo configuration: sourceArtifactory: myArtifactory buildName: simple-maven-sample buildNumber: 1
The pipeline executes a Maven build using the MvnBuild native step. It requires that the Maven project being built has been configured to use the Maven Surefire Plugin to perform unit tests and produce a junit-compatible test result file.
In the onComplete
action of the execution
block, the step will save the test result file to the run log by calling the save_tests
utility function.
pipelines.steps.yml
pipelines: - name: java_pipeline steps: - name: build_app type: MvnBuild configuration: sourceLocation: . mvnCommand: clean install -ntp configFileLocation: . configFileName: mvn-art-config autoPublishBuildInfo: true integrations: - name: myArtifactory inputResources: - name: java_app outputResources: - name: my_build_info runtime: type: image image: auto: language: java versions: - "11" execution: onComplete: - save_tests $res_java_app_resourcePath/target/surefire-reports/
After the pipeline has finished running, the test results for the build_app
step can be viewed in the run log.