Android では、スクリプトを使用してコンパイルおよびテストを行う際、デフォルトの testrunner を使用すると、ファイルタイプの単体テストレポートが出力されません。毎回 logcat を分析するだけでは、単体テストの結果やレポートを直感的に確認することができず、自動化スクリプトの作成に多くの問題が生じます。JUnit テストレポートの出力をサポートする TestRunner を自分で作成することもできますが、手間がかかります。その他にも、android-junit-report.jar というオープンソースのパッケージがあり、使用することができます。使用方法も非常に簡単で、出力される単体テストレポートはさまざまなレポート分析ツールで分析することができます。具体的な使用方法は以下の通りです:
ここでは、Android アプリのパッケージ名が com.xxx.xxx であると仮定します。 方法 1:Eclipse IDE を使用する方法 1.android-junit-report.jar をダウンロードし、Android テストプロジェクトの libs フォルダにインポートします。 2.Android テストプロジェクトの AndroidManifest.xml ファイルを開き、次の行を見つけます。
<instrumentation android:name="android.test.InstrumentationTestRunner"
次のように変更します。
<instrumentation android:name="com.zutubi.android.junitreport.JUnitReportTestRunner"
3.JUnit テストを実行します。 4.ADB を使用して単体テストレポートを取得します。
adb pull /data/data/com.xxx.xxx/files/junit-report.xml
方法 2:ant を使用する方法 1.android-junit-report.jar をダウンロードし、Android テストプロジェクトの libs フォルダにインポートします。 2.ant.properties ファイルを編集し、次の内容を追加します。
test.runner=com.zutubi.android.junitreport.JUnitReportTestRunner
3. 単体テストを実行します。
ant clean debug install test
4.ADB を使用して単体テストレポートを取得します。
adb pull /data/data/com.xxx.xxx/files/junit-report.xml
方法 3:Ant Build を使用する方法 1.android-junit-report.jar をダウンロードし、Android テストプロジェクトの libs フォルダにインポートします。 2.ant.properties ファイルを編集し、次の内容を追加します。
test.runner=com.zutubi.android.junitreport.JUnitReportTestRunner
3.Build.xml に次の target 内容を追加します。
<target name="fetch-test-report">
<get src="${test.report.url}" dest="${test.report.file}" />
</target>
4. 単体テストを実行します。
ant clean debug install test fetch-test-report
参考:http://zutubi.com/source/projects/android-junit-report/documentation/ http://www.dotblogs.com.tw/yuanchien/archive/2010/11/24/add-emma-for-unit-testing.aspx