GithubHelp home page GithubHelp logo

kotlinx-kover's Introduction

Kover

Kotlin Alpha JetBrains incubator project GitHub license

Kotlin Code Coverage Toolset

For more information about Kover Gradle Plugin, please refer to the documentation of the latest release.

For more information about Kover CLI, please refer to the documentation of the latest release.

Features

  • Collection of code coverage through JVM tests (JS and native targets are not supported yet).
  • generating HTML and XML reports.
  • Support for Kotlin JVM, Kotlin Multiplatform projects.
  • Support for Kotlin Android projects with build variants (instrumentation tests executing on the Android device are not supported yet).
  • Support mixed Kotlin and Java sources
  • Verification rules with bounds in the Gradle plugin to keep track of coverage.
  • Using JaCoCo library in Gradle plugin as an alternative for coverage measuring and report generation.
  • Offline instrumentation of class files.
  • Instrumentation and report generation using Command Line Interface

Gradle Quickstart

The recommended way of applying Kover is with the plugins DSL.

Minimum supported version of Gradle is 6.8.

Add the following to your top-level build file:

Kotlin
plugins {
     id("org.jetbrains.kotlinx.kover") version "0.7.0"
}
Groovy
plugins {
    id 'org.jetbrains.kotlinx.kover' version '0.7.0'
}

After you applied Kover Gradle plugin, Kover tasks will be created for generating reports and verification. E.g. to generate HTML report for non-Android project run ./gradlew koverHtmlReport - this will automatically start code compilation, execution of instrumented tests, and an HTML report will be generated with measurement results in the build folder.

Legacy Plugin Application

Legacy method of applying plugins can be used if you cannot use the plugins DSL for some reason.

Kotlin
buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath("org.jetbrains.kotlinx:kover-gradle-plugin:0.7.0")
    }
}

apply(plugin = "kover")
Groovy
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.jetbrains.kotlinx:kover-gradle-plugin:0.7.0'
    }
}
  
apply plugin: 'kover'

To create report combining coverage info from different Gradle projects

You have to add dependency on the project, in which the report task will be run

dependencies {
  kover(project(":another:project"))
}

in this case report will be generated for current project joined with :another:project project.

More examples of Gradle plugin applying can be found in example folder

Building locally and Contributing

See Contributing Guidelines.

kotlinx-kover's People

Contributors

asemy avatar etolstoy avatar hqsz avatar ignatberesnev avatar johnjohndoe avatar jsoberg avatar ninodlc avatar nuhkoca avatar qwwdfsad avatar shanshin avatar shoheikawano avatar soywiz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.