Skip to content

Latest commit

 

History

History
65 lines (43 loc) · 1.73 KB

README.md

File metadata and controls

65 lines (43 loc) · 1.73 KB

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.