73

Android Studio を使用してアプリを開発しています。
テストコードを実行できました。
しかし、Androidスタジオでコードカバレッジを取得する方法がわかりません。

私はすでに以下のリンクを見ました。
Android Gradle コード カバレッジ
しかし、emma をサポートする v0.6 へのアップデートが待ちきれません。

プロジェクト構成は以下の通りです。

メインコード
MyProject/AppName/src/main/java/mypackage/MyClass.java

テスト コード
MyProject/AppName/src/instrumentTest/java/mypackage/test/MyClassTest.java

プロジェクト構成
MyProject
├─build.gradle
└─AppName
    ├─build.gradle
    └─src
        ├─main
        │  ├─ジャバ
        │  │  └─マイパッケージ
        │  │  └─MyClass.java
        │  ├─レス
        │  └─AndroidManifest.xml
        └─instrumentTest
            └─java
                └─mypackage
                    └─test
                        └─MyClassTest.java

4

9 に答える 9

67

新しい Android Studio 1.2 を使用すると、単体テストを実行し、すべて IDE 内でカバレッジを確認できます。

まず、IDE で単体テストを実行する必要があります。(すでにできる場合は、この手順をスキップしてください)

このガイドデモが役に立ちます。

次に、JUnit 実行構成を作成する必要があります

ここに画像の説明を入力

この構成内で、選択できます

  • テストの種類:「オールインパッケージ」
  • パッケージ: [テストが存在するパッケージ、例: "com.myapp.tests"]
  • テストの検索: Across Module Dependencies (セットアップによって異なる場合があります)
  • VM -オプション: -ea
  • 作業ディレクトリ: [プロジェクトのディレクトリ]
  • mod のクラスパスを使用: [モジュールを選択]

JUnit 実行構成の作成に問題がある場合は、このガイドにアクセスしてヘルプを参照してください。

最後に、最新の Android Studio では、[Run with Coverage] ボタンをクリックして JUnit-Run 構成を実行できるはずです。


Android Studio 2.1.3 の is ラベルRun Unit tests with CoverageUnit test、次のスクリーンショットに示すように、テスト構成の名前です。

Android スタジオ:

于 2015-05-11T21:08:52.690 に答える
37

古いAndroidスタジオプロジェクトにプラグインを適用する方法を示す非常に多くの回答がありjacoco、最近のAndroidスタジオ(私のAndroidスタジオはバージョン2.1.2)のソリューションを理解するのに多くの時間を無駄にしました.

  • Jacocoプラグインは Android Studio gradle 用に組み込まれているため、次のように有効にするだけです。
  ビルドタイプ {
    ...
    デバッグ {
      testCoverageEnabled true
    }
  }
  • 上記を行った後、ユニットテストタスクを実行します ./gradlew testDebugUnitTest

  • 次に、カバレッジ ファイルを作成します。 ./gradlew createDebugCoverageReport

  • カバレッジ ファイルは、<module>/build/reports/coverage/debugフォルダー includeindex.htmlの下に作成され、ブラウザーで開くことができ、または他の継続的な統合ツールreport.xmlでレポートを取得するために使用できます。jenkins jacoco plugin

で0% のカバレッジを得た人はjenkins jacoco plugin、必ず正しいバージョンを使用してください。彼らのサイトからの引用:

残念ながら、JaCoCo 0.7.5 では、jacoco.exec ファイルの以前のバイナリ形式との互換性が失われています。バージョン 1.0.19 までの JaCoCo プラグインは JaCoCo 0.7.4 に基づいているため、JaCoCo 0.7.5 以降を既に使用しているプロジェクトでこのバージョンを使用することはできません。バージョン 2.0.0 以降の JaCoCo プラグインは JaCoCo 0.7.5 を使用するため、プロジェクトでこのバージョンを使用する必要があります。JaCoCo 0.7.4 以下をまだ使用している場合は、JaCoCo プラグイン 1.0.19 以下を使用してください。

于 2016-09-01T04:50:04.773 に答える
2

Android Studio 内で視覚的なコード カバレッジ レポートを表示できるとは思いません。しかし、あなたは試すことができますJacoco。ファイルに統合する必要がありbuild.gradleます。ここで同様の質問と解決策を見つけることができます

于 2014-06-15T15:48:58.053 に答える
2

Maven を使用してアプリをビルドし、cobertura を使用してコード カバレッジ レポートを作成します

どちらも非常に簡単に統合できます

アンドロイド Maven 統合:

http://www.vogella.com/tutorials/AndroidBuildMaven/article.html

Maven + Cobertura コード カバレッジの例:

http://www.mkyong.com/qa/maven-cobertura-code-coverage-example/

于 2014-04-24T19:17:25.463 に答える
2

プロジェクトのコード カバレッジを取得するために Jacoco プラグインを使用してみましたか? これは、パッケージまたは個々のクラスに基づいてカバレッジを提供する優れたプラグインです。Mavenを使用しているため、JacocoをGradleで使用するように構成する方法がわかりません。リンクをチェックしてください:そしてそれがあなたを助けるかどうか見てください

于 2013-12-27T02:00:56.727 に答える
0

興味のあるパッケージを右クリックして選択するだけですRun 'Tests in "package" with coverage'

于 2020-01-22T12:33:40.657 に答える