[英]Android test code coverage, Eclipse
有沒有辦法從Eclipse中運行Android的單元測試,以便檢測代碼並測量測試代碼覆蓋率?
我正在尋找一種簡單的方法來找出我的應用程序的哪些部分尚未測試,修復測試用例並查看是否有幫助。
免責聲明:我是Atlassian
Atlassian Clover工具也支持Android - 它測量應用程序代碼和單元測試的覆蓋范圍。 雖然在alpha階段,它運行得很好 - 它適用於Eclipse 3.6.2及更高版本。
如果您想查找需要改進的應用程序區域,那么以下Clover功能將非常適合此任務:
哦,Clover HTML報告看起來很棒!
請查看: https : //confluence.atlassian.com/display/CLOVER/Clover-for-Android
我已經使用EMMA(android已經支持它)進行代碼覆蓋(以及android-junit-report for test reports),這里有一個摘要:
android.bat更新項目-p project -n my_project -t android-16
cd項目
ant emma clean debug
android.bat更新項目--library .. \\ project -p project_Test -n project_Test -t
android.bat更新項目-m .. \\ project -p project_Test -n project_Test -t
ant emma clean debug install我不想使用'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到庫
從我的博客中查看
從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>
+ Enter ,
cd <path to test project>
+ Enter ,
ant emma debug install test
+ Enter ,
其中<path to android tools>
是我的機器上的/opt/android-sdk-linux/tools/
- 安裝android SDK的文件夾。
這生成了<path to test project>/bin/coverage.html
文件。
如果出現“錯誤的JAVA_HOME”錯誤,請執行gksu gedit /etc/environment
+ Enter ,更正JAVA_HOME
,保存文件,注銷或重新啟動,然后重試。
資料來源: http : //blog.rabidgremlin.com/2010/11/19/android-tips-generating-a-coverage-report-for-your-unit-tests/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.