[Android]使用android-junit-report.jar导出单元测试报告

Android在使用脚本编译和测试时,使用默认的testrunner不会输出文件类型的单元测试报告,每次只能分析logcat的无法直观的看到单元测试结果和报告,这给编写自动化脚本带来了不少麻烦,虽然可以自己动手编写支持junit测试报告输出的TestRunner,但是比较麻烦。除此之外,有一个android-junit-report.jar的开源包可以拿来使用,使用方法也很简单,输出的单元测试报告也可以为多种报告分析工具分析。具体使用方法如下:
这里假设Android APP的包名为com.xxx.xxx 方法1:使用Eclipse IDE方式 1.下载android-junit-report.jar并将其导入到Android测试项目的libs中 2.打开Android测试项目的AndroidManifest.xml文件,找到
<instrumentation
      android:name="android.test.InstrumentationTestRunner"
      android:targetPackage="com.xxx.xxx" />
修改为
<instrumentation
      android:name="com.zutubi.android.junitreport.JUnitReportTestRunner"
      android:targetPackage="com.xxx.xxx" />
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">
  <xpath input="${tested.project.dir}/AndroidManifest.xml"
  expression="/manifest/@package" output="tested.package"/>
  <echo>Downloading XML test report...</echo>
  <mkdir dir="${reports.dir}"/>
  <exec executable="${adb}" failonerror="true">
  <arg line="${adb.device.arg}"/>
    <arg value="pull" />
    <arg value="/data/data/${tested.package}/files/junit-report.xml"/>
    <arg value="${reports.dir}/junit-report.xml"/>
  </exec>
</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
]]>

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注