![](/img/trans.png)
[英]Robolectric + JaCoCo | Issue while running unit test and not generating code coverage
[英]How to calculate test coverage while using Robolectric
我使用make
構建和Robolectric
作為運行Android測試的框架。 我想計算我的應用程序的覆蓋范圍。 對於儀器測試,我曾經使用過emmalib
。 在這種情況下,我設置覆蓋率計算的最佳方法是什么? 我無法遷移到gradle或maven。
你和艾瑪一樣嗎? 如何使用RoboElectric + Cobertura代碼覆蓋? (我認為您可以使用CLI進行上述組合)
所以選擇
1.)RoboElectric + Cobertura - 單獨的CLI可能適用於沒有ANT的人
2.)JaCoCo可能有一些有用的選擇
3.)純Android測試+ Emma / EclEmma
有用的鏈接跟蹤
通過build.xml和ant.properties中的更改生成android代碼覆蓋
https://intellectualcramps.wordpress.com/2013/08/18/code-coverage-of-robolectric-tests-using-jacoco/
https://bitbucket.org/ravidsrk/androidstarter
編輯:
不幸的是,我遇到過的大多數教程都使用了ant,而且我認為移動到像Gradle這樣的推薦構建系統並不是一個壞主意,因此它開辟了很多選項。 但對於JaCoCo,您可以在這里查看: https ://intellectualcramps.wordpress.com/2013/08/18/code-coverage-of-robolectric-tests-using-jacoco/
更新:
將其從評論移至答案部分,以便向想要查看此內容的任何人提供信息,因為這是一個賞金問題
一種解決方案是使用Cobertura生成代碼覆蓋,可以集成到eclipse中,也可以通過ant構建腳本運行。
可以在此處找到此類集成的模板項目: https : //github.com/adgllorente/android-cobertura-boilerplate
請注意,所有的魔法都發生在Test項目的build.xml中。 這些任務應該可以推廣到custom_rules.xml
文件,這樣您仍然可以使用android
來更新項目。
最后,對於Gradle,您有許多不同的選擇:
請注意,您始終可以將Gradle用作輔助構建系統,以生成覆蓋率報告。 (但是第二個構建系統會引入很多開銷)
jacoco有時不能與Robelectric和powermock運行器一起使用,你可以使用三葉草和atlassian工具它現在是開源工具。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.