Kover は、JVM および Android プラットフォーム用にコンパイルされた Kotlin コードのテスト カバレッジを収集するためのソリューション セットです。
カバーツールセット:
Kover Gradle プラグイン
Kover Maven プラグイン
カバー CLI
Kover オフライン計装
Kover JVM エージェント
カバーの特徴アーティファクト
Kover Gradle Plugin の最新の安定リリースの詳細については、ドキュメントを参照してください。
JVM
テストによるコード カバレッジの収集 (JS およびネイティブ ターゲットはまだサポートされていません)。
HTML
およびXML
レポートの生成。
Kotlin JVM
、 Kotlin Multiplatform
プロジェクトのサポート。
ビルド バリアントを使用したKotlin Android
プロジェクトのサポート (Android デバイスで実行されるインストルメンテーション テストはまだサポートされていません)。
Kotlin
とJava
混合ソースをサポート
カバレッジを追跡するための、Gradle プラグイン内の境界を持つ検証ルール。
カバレッジ測定とレポート生成の代替として、Gradle プラグインの JaCoCo ライブラリを使用します。
Kover を適用する推奨方法は、プラグイン DSL を使用することです。
サポートされるGradle
の最小バージョンは6.8
です。
最上位のビルド ファイルに以下を追加します。
プラグイン { id("org.jetbrains.kotlinx.kover") バージョン "0.9.0-RC"}
プラグイン { ID 'org.jetbrains.kotlinx.kover' バージョン '0.9.0-RC'}
Kover Gradle プラグインを適用すると、レポートと検証を生成するための Kover タスクが作成されます。たとえば、HTML レポートを生成するには、 ./gradlew koverHtmlReport
を実行します。これにより、コードのコンパイル、インストルメント化されたテストの実行が自動的に開始され、測定結果を含む HTML レポートがビルド フォルダーに生成されます。
また、Kover Gradle プラグインを適用した後、テストの実行中に、JVM にロードされるときにクラスが変更 (インストルメント化) されることも重要です。これにより、パフォーマンスが低下したり、同時テストに影響を与えたりする可能性があります。
何らかの理由でプラグイン DSL を使用できない場合は、従来のプラグイン適用方法を使用できます。
ビルドスクリプト { リポジトリ { mavenCentral() } 依存関係 { classpath("org.jetbrains.kotlinx:kover-gradle-plugin:0.9.0-RC") } }apply(plugin = "org.jetbrains.kotlinx.kover")
ビルドスクリプト { リポジトリ { mavenCentral() } 依存関係 { クラスパス 'org.jetbrains.kotlinx:kover-gradle-plugin:0.9.0-RC'} } プラグインを適用: 'org.jetbrains.kotlinx.kover'
レポートタスクが実行されるプロジェクトへの依存関係を追加する必要があります。
依存関係 { kover(プロジェクト(":another:プロジェクト")) }
この場合、レポートは:another:project
プロジェクトと結合された現在のプロジェクトに対して生成されます。
Gradle プラグイン適用のその他の例は、サンプル フォルダーにあります。
Kover Aggregated Plugin は、Gradle 設定プラグインのプロトタイプとして、マルチプロジェクト ビルドのセットアップを簡素化するために作成されました。まだ初期段階にあるため、テストまたはペット プロジェクトにのみ使用することをお勧めします。
詳細については、ドキュメントを参照してください。
Kover Mavenプラグインはビルドプラグインを指定することで適用できます
<プラグイン> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kover-maven-plugin</artifactId> <バージョン>0.9.0-RC</バージョン> </プラグイン>
Kover の目標のリストは、このドキュメントのセクションに記載されています。
Kover Maven プラグインの最新の安定リリースの詳細については、ドキュメントを参照してください。
オフラインのインストルメンテーションと人間が読めるレポートの生成に使用されるスタンドアロン JVM アプリケーション。
Kover CLI のドキュメント。
オフライン インストルメンテーションは、ディスクに保存されているクラス ファイルを変更して、そのカバレッジを測定します。
オフラインでのインスツルメンテーションとインストルメントされたアプリケーションの実行の方法については、ドキュメントで説明されています。
JVM エージェントは、カバレッジを測定するために JVM クラスにロードされるバイトコードを変更する jar ファイルです。ドキュメント。
ディスク上のクラス ファイルをプログラムで計測できるようにする JVM の依存関係。
Kover フィーチャ アーティファクトのドキュメント
「貢献ガイドライン」を参照してください。