簡體   English   中英

如何在使用Robolectric時計算測試覆蓋率

[英]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代碼覆蓋

Android Gradle代碼覆蓋率

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.

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