2016-04-04 51 views
2

我能夠在我的Android應用程序中使用jacoco獲得我的測試的覆蓋率報告,因爲它執行「createDebugCoverageReport」任務非常簡單。但我需要做的是從jacoco分析中排除一些類,以提高我的覆蓋率。我發現一些答案googling很多,但他們都涉及單元測試。有人可以幫助我嗎?使用jacoco排除Espresso測試覆蓋率中的類

+0

你解決了你的問題嗎? –

+1

是的。我不得不創建另一個Gradle任務。我遵循本指南https://medium.com/@rafael_toledo/setting-up-an-unified-coverage-report-in-android-with-jacoco-robolectric-and-espresso-ffe239aaf3fa#.butp8u2iq 我希望這可以幫助他人。 –

+0

看起來我需要不同的東西。這裏是我的問題:http://stackoverflow.com/q/37284978/1065835 –

回答

0

你沒有在你的問題中包含很多見解。根據你寫的內容,我可以詳細說明:

你發現了很多關於單元測試的答案,因爲jacoco以類似的方式處理所有的測試。 你需要做的是遵循相同的路線:
雅科科負責看你的測試。通常你會用@Test註解來註釋測試。請確保你做到這一點爲你和你需要排除這種標籤插入(如果你正在使用maven):

<configuration> 
    <excludes> 
     <exclude>**/*Config.*</exclude> 
     <exclude>**/*Dev.*</exclude> 
    </excludes> 
</configuration> 

如果使用gradle這個,看看this article代替。

+0

我使用Gradle。我不需要排除測試,但需要分析打印出報告的代碼。我沒有發佈任何代碼,因爲沒有任何相關代碼可以顯示。我的目標是提高代碼覆蓋率。我現在所得到的結果是一個不好的分析:jacoco正在分析對測試覆蓋目的不重要的類。 我也看過那個答案,但我無法修復這種方式,因爲我沒有創建任何任務來創建報告。我使用「createDebugCoverageReport」任務,並且無法根據回答中的建議調整它 –

+0

分析的代碼基於您的測試。爲了提高代碼覆蓋率,您需要創建額外的測試,以達到您爲生產編寫的所有代碼。如果您對某些檢查不感興趣,請確保將它們排除在您的gradle配置文件中。 – LoreV

+0

否。它正在考慮由其他服務創建的類(例如Protocol Buffers創建的Messages.java類)。我需要從jacoco分析中排除這個以及其他類。 –

相關問題