4

私は過去1か月から、外部Jarを含むAndroidプロジェクトのコードカバレッジレポートを推測しようとしています(私はADT20で実行しています)。私が走るときはいつでも

antemmadebugインストールテスト

Androidプロジェクトの100%のカバレッジが表示されますが、カバレッジレポートには、外部Jarのパッケージとクラスが含まれていません。emma antbuildまたはAndroidCodeカバレッジツールのいずれかによって、外部Jarのパッケージとクラスのカバレッジレポートを取得するのを手伝ってくれる人はいますか?

ありがとう

4

1 に答える 1

2

最新のSDKは、ビルドの前にemmaを配置することにより、emmaを使用します。

ant emma debug install
ant emma debug install test

1つ目はプロジェクトディレクターから実行され、2つ目はテストディレクトリから実行されます。そうすることで、完全なカバレッジレポートが生成されます。

詳細については、このリンクを参照してください

ADT r20-previewは、テストされたプロジェクトとそのライブラリプロジェクトの完全なクラスパスへのアクセスを提供することにより、この問題を解決します。

http://tools.android.com/download/adt-20-preview

これにより、ライブラリプロジェクトのコードカバレッジレポートが得られますが、ソースファイルを添付するためにbuild.xmlのテストターゲットを変更する必要があります。

現時点でライブラリプロジェクトにemmaテストカバレッジを組み込む方法の詳細については、この「 AndroidライブラリプロジェクトのソースコードをEmmaレポート(ant、emma)に添付する」を参照してください。

例-build.xml:

<emma>
                <!-- Grantland: Attach Android library project sources to the emma report -->
                <report sourcepath="${tested.project.absolute.dir}/${source.dir};${tested.android.library.source.dir}"
                                  verbosity="${verbosity}">
                <!-- <report sourcepath="${tested.project.absolute.dir}/${source.dir}"
                                  verbosity="${verbosity}"> -->
                    <!-- TODO: report.dir or something like should be introduced if necessary -->
                    <infileset dir=".">
                        <include name="coverage.ec" />
                        <include name="coverage.em" />
                    </infileset>
                    <!-- TODO: reports in other, indicated by user formats -->
                    <html outfile="coverage.html" />
               </report>
            </emma>

ant.properties:

これは、セミコロンで区切られたディレクトリのリストにすることができます

tested.android.library.source.dir=../library/src;etc
于 2012-12-05T04:31:50.697 に答える