Skip to main content

JUnit

Intro

JUnit is a simple framework to write repeatable tests for Java language. It is an instance of the xUnit architecture for unit testing frameworks.

Integration with Kraken CI

The following example shows how to execute JUnit tests in Kraken CI. The presented workflow stage does:

  1. pulls sample JUnit project,
  2. runs JUnit tests generating results in JUnit format
  3. collects results from JUnit file
def stage(ctx):
return {
"parent": "root",
"triggers": {
"parent": True,
},
"parameters": [],
"configs": [],
"jobs": [{
"name": "junit collect",
"steps": [{
"tool": "git",
"checkout": "https://github.com/junit-team/junit5-samples.git",
"branch": "main"
}, {
"tool": "shell",
"cmd": "./mvnw test",
"cwd": "junit5-samples/junit5-jupiter-starter-maven"
}, {
"tool": "junit_collect",
"cwd": "junit5-samples/junit5-jupiter-starter-maven/",
"file_glob": "target/*/*xml"
}],
"environments": [{
"system": "openjdk:11.0.12-slim-buster",
"agents_group": "all",
"executor": "docker",
"config": "default"
}]
}]
}

More details about junit_collect tool can be found in its docs section.

As a result of the execution of this stage in the Kraken's web UI, there will be a set of test case results.

Demo: https://lab.kraken.ci/branches/24
Sources: https://github.com/Kraken-CI/workflow-examples/blob/main/junit-collect/one.py