Skip to content

testaxis/coverage-per-test-gradle-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

18 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Coverage per Test - Gradle Plugin

Collect coverage reports per test case execution instead of the entire test suite.

This is a gradle plugin that works with JUnit 5 and Jacoco.

Getting Started

  • Add this plugin (and Jacoco) to the plugins section of your Gradle.

    Kotlin:

    plugins {
        jacoco
        id("io.testaxis.coveragepertest") version "1.0.0"
    }

    Groovy:

    plugins {
        id 'jacoco'
        id "io.testaxis.coveragepertest" version "1.0.0"
    }
  • Set the tool version of Jacoco to the version below or higher.

    Kotlin/Groovy:

    jacoco {
        toolVersion = "0.8.6"
    }
  • Set JUnit's extension autodetection property to true to enable the runtime.

    Kotlin:

    tasks.withType<Test> {
        systemProperty("junit.jupiter.extensions.autodetection.enabled", "true")
        useJUnitPlatform()
    }

    Note that the runtime interferes with regular coverage reports. Enable the runtime dynamically if you want to generate a regular coverage report for your entire test suite.

  • Optionally, configure any of the options of the plugin below. You can leave the configuration block out if you do not want to set any custom options.

    Kotlin:

    coveragePerTestConfig {
        inputDirectory.set(file("/custom-reports-input-directory"))
        outputDirectory.set(file("/custom-reports-output-directory"))
    }

Tasks

Run tests and generate coverage reports per test:

$ gradlew test coveragePerTest

By default, the reports will be located in build/coveragepertest/xml.

Development

The plugin consists of two parts: the actual Gradle plugin (plugin-build/) and the runtime library (runtime/).

Run the tests and static analysis tools:

$ gradlew preMerge

Security

If you discover any security related issues, please email mail@casperboone.nl instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

๐Ÿ“ˆ Collect coverage reports per test case execution instead of the entire test suite.

Topics

Resources

License

Stars

Watchers

Forks

Contributors