簡體   English   中英

Android測試代碼覆蓋率,Eclipse

[英]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項目(或庫)

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

  • 生成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到庫

從我的博客中查看

從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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM