web-dev-qa-db-ja.com

Android Gradleを使用したプロジェクトでJaCoCoを使用する

私はAndroidプロジェクトを持っています。JaCoCoを使用してテストコードカバレッジに関するHTMLレポートを生成したいのです。いくつかの記事の指示に従ってみましたが、すべての試みがエラー。

私のために働いたすべてはプラグイン「jacoco」を適用することです(プロジェクトはその後正常にビルドされました)。

apply plugin: 'jacoco'

しかし、タスク「jacocoTestReport」を追加するとすぐに、Gradleはファイルと同期できなくなり、このエラーが発生します。

それが私の仕事です:

jacocoTestReport {
reports {
    html.enabled true
    xml.enabled false
    csv.enabled false
    html.destination file("${buildDir}/jacocoHtml")
}}

それは私のエラーです:

ERROR: Could not find method jacocoTestReport() for arguments [build_8kqk7qvpoocfxfydulk1p4m35$_run_closure3@1aba12a5] on project ':app' of type org.gradle.api.Project.

「build.gradle」に「apply plugin」を追加してから「gradlew clean build」を使ってみました。チュートリアルの作成者は正常にタスクを追加し、ターミナルでこの行を使用してjacocoレポートを取得しました。

gradlew build jacocoTestReport

ここに、jacocoをプロジェクトに追加する方法を理解するために使用した記事へのリンクがあります。

https://reflectoring.io/jacoco/

https://Android.jlelse.eu/get-beautiful-coverage-reports-in-your-Android-projects-ce9ba281507f

だから私の質問は、JacocoをAndroid Project with Gradleに追加する方法はありますか?何が間違っているのですか?

6
Igor Lopatinkiy

コピーペーストが欠けているだけかもしれませんが、関数をGradleでタスクとして定義してください。

私はこのブログをフォローして、最初のプロジェクトでJacocoインスタンスを設定しました。 https://engineering.rallyhealth.com/Android/code-coverage/testing/2018/06/04/Android-code-coverage.html

1
Kyle