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