danger-kotlin-junit

Plugin for danger-kotlin processing outputs of junit reports

License

License

Categories

Categories

Kotlin Languages JUnit Unit Testing
GroupId

GroupId

io.github.ackeecz
ArtifactId

ArtifactId

danger-kotlin-junit
Last Version

Last Version

0.1.0
Release Date

Release Date

Type

Type

pom.sha512
Description

Description

danger-kotlin-junit
Plugin for danger-kotlin processing outputs of junit reports
Project URL

Project URL

https://github.com/AckeeCZ/danger-kotlin-junit

Download danger-kotlin-junit

Dependencies

compile (3)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.4.30
systems.danger : danger-kotlin-sdk jar 1.2
com.fasterxml.jackson.dataformat : jackson-dataformat-xml jar 2.12.2

Project Modules

There are no modules declared in this project.

Maven Central

danger-kotlin junit plugin

Plugin for danger-kotlin parsing and reporting JUnit results.

Installation

Put

@file:DependsOn("io.github.ackeecz:danger-kotlin-junit:x.y.z")

to the top of your Dangerfile

Usage

First you need to register the plugin via

register plugin JUnitPlugin

and then you can use it through its public methods

JUnitPlugin.parse(junitReportFile)
JUnitPlugin.report()

parse method accepts varargs of files pointing to the junit reports and parses them to internal representation.

report methods will process parsed results and reports them to pull request comments.

Example Dangerfile

@file:DependsOn("io.github.ackeecz:danger-kotlin-junit:x.y.z")

import io.github.ackeecz.danger.junit.JUnitPlugin

import systems.danger.kotlin.danger
import systems.danger.kotlin.register

import java.nio.file.Files
import java.nio.file.Paths
import java.util.function.BiPredicate
import java.util.stream.Collectors

register plugin JUnitPlugin

danger(args) {
    val junitReports = Files.find(Paths.get(""), 10, BiPredicate { path, _ ->
        val fileName = path.toFile().name
        fileName.startsWith("TEST") && fileName.endsWith("xml")
    }).map { it.toFile() }.collect(Collectors.toList())

    JUnitPlugin.parse(*junitFiles.toTypedArray())
    JUnitPlugin.report()
}

This will find all files in the depth of 10 relative to current directory that matches the junit report files naming, and it will pass them to the plugin for processing.

io.github.ackeecz

Ackee

Software development enthusiasts from the ❤️ of Europe.

Versions

Version
0.1.0