Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ackeecz/danger-kotlin-junit
Plugin for danger-kotlin for parsing and reporting JUnit results
https://github.com/ackeecz/danger-kotlin-junit
danger danger-kotlin junit kotlin
Last synced: 14 days ago
JSON representation
Plugin for danger-kotlin for parsing and reporting JUnit results
- Host: GitHub
- URL: https://github.com/ackeecz/danger-kotlin-junit
- Owner: AckeeCZ
- License: apache-2.0
- Created: 2020-07-08T16:21:31.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-03-20T07:06:36.000Z (almost 4 years ago)
- Last Synced: 2024-11-10T15:49:38.528Z (2 months ago)
- Topics: danger, danger-kotlin, junit, kotlin
- Language: Kotlin
- Homepage:
- Size: 68.4 KB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[ ![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.ackeecz/danger-kotlin-junit/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.github.ackeecz/danger-kotlin-junit)
# danger-kotlin junit plugin
Plugin for [danger-kotlin](https://github.com/danger/kotlin) parsing and reporting JUnit results.
## Installation
Put
```kotlin
@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
```kotlin
register plugin JUnitPlugin
```and then you can use it through its public methods
```kotlin
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
```kotlin
@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.registerimport java.nio.file.Files
import java.nio.file.Paths
import java.util.function.BiPredicate
import java.util.stream.Collectorsregister 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.