有没有办法从Eclipse中运行Android的单元测试,以便检测代码并测量测试代码覆盖率?
我正在寻找一种简单的方法来找出我的应用程序的哪些部分尚未测试,修复测试用例并查看是否有帮助。
答案 0 :(得分:8)
免责声明:我是Atlassian
Atlassian Clover工具也支持Android - 它测量应用程序代码和单元测试的覆盖范围。虽然在alpha阶段,它运行得很好 - 它适用于Eclipse 3.6.2及更高版本。
如果您想查找需要改进的应用程序区域,那么以下Clover功能将非常适合此任务:
哦,Clover HTML报告看起来很棒!
请检查:https://confluence.atlassian.com/display/CLOVER/Clover-for-Android
答案 1 :(得分:3)
我已经使用EMMA(android已经支持它)用于代码覆盖(以及android-junit-report用于测试报告),这里有一个摘要:
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
java -cp emma.jar emma report -r xml -in bin / coverage.em,coverage.ec
java -cp emma.jar emma report -r html -in bin / coverage.em,coverage.ec
使用Post-builds(Jenkins):
不要将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
,保存文件,注销或重新启动,然后重试。