Android测试代码覆盖率,Eclipse

时间:2010-07-19 15:53:53

标签: java android eclipse

有没有办法从Eclipse中运行Android的单元测试,以便检测代码并测量测试代码覆盖率?

我正在寻找一种简单的方法来找出我的应用程序的哪些部分尚未测试,修复测试用例并查看是否有帮助。

4 个答案:

答案 0 :(得分:8)

免责声明:我是Atlassian

Atlassian Clover工具也支持Android - 它测量应用程序代码和单元测试的覆盖范围。虽然在alpha阶段,它运行得很好 - 它适用于Eclipse 3.6.2及更高版本。

如果您想查找需要改进的应用程序区域,那么以下Clover功能将非常适合此任务:

  • Clover Dashboard
  • 覆盖云报告
  • 覆盖树地图报告
  • Coverage Explorer

哦,Clover HTML报告看起来很棒!

请检查:https://confluence.atlassian.com/display/CLOVER/Clover-for-Android

答案 1 :(得分:3)

我已经使用EMMA(android已经支持它)用于代码覆盖(以及android-junit-report用于测试报告),这里有一个摘要:

  • 创建android项目(或库)
  

android.bat更新项目-p project -n my_project -t android-16

     

cd项目

     

ant emma 清理调试

  • 创建一个测试项目(链接到以前的库)
  

android.bat更新项目 - 库.. \ project -p project_Test -n project_Test -t

  • 如果主项目不是图书馆
  

android.bat更新项目 -m .. \ project -p project_Test -n project_Test -t

     

ant emma 清除调试安装   我不想使用'test',因为我想运行自己的乐器

     

adb shell am instrument -e coverage true -e coverageFile sdcard / coverage.ec -w com..myproject.test / com.zutubi.android.junitreport.JUnitReportTestRunner

  • 从设备(模拟器)中提取文件
  

adb pull sdcard / junit-report.xml

     

adb pull sdcard / coverage.ec

  • 生成 XML 报告(也可以生成HTML报告)
  

java -cp emma.jar emma report -r xml -in bin / coverage.em,coverage.ec

  • 生成 HTML 报告(也可以生成HTML报告)
  

java -cp emma.jar emma report -r html -in bin / coverage.em,coverage.ec

  • 使用Post-builds(Jenkins):

    • JUnit报告XML
    • Emma Coverage报告(将coverage.xml作为输入)

不要将emma.jar放入libs

从我的blog

中查看

答案 2 :(得分:2)

答案 3 :(得分:2)

从Eclipse Marketplace安装EclEmma

如果您有<path to test project>/build.xml个文件重命名。

我能够通过从控制台执行以下命令来生成测试覆盖率报告:

<path to android tools>android update test-project -m <path to app project> -p <path to test project> + 输入

cd <path to test project> + 输入

ant emma debug install test + 输入

我的机器上<path to android tools>/opt/android-sdk-linux/tools/ - 安装android SDK的文件夹。

生成<path to test project>/bin/coverage.html个文件。

如果出现“错误的JAVA_HOME”错误,请执行gksu gedit /etc/environment + 输入,更正JAVA_HOME,保存文件,注销或重新启动,然后重试。

来源:http://blog.rabidgremlin.com/2010/11/19/android-tips-generating-a-coverage-report-for-your-unit-tests/