簡體   English   中英

使用JaCoCo和Gradle進行意式濃縮咖啡測試時0%的代碼覆蓋率

[英]0% code coverage on espresso tests with JaCoCo and Gradle

在我的濃縮咖啡測試的JaCoCo代碼覆蓋率報告中,所有行和分支都丟失了。 我在用gradle 1.5.0構建的Android應用程序中使用JaCoCo。

我的gradle配置:

apply plugin: 'jacoco'

android {
   buildTypes {
      debug {
         testCoverageEnabled = true
      }
   }
}

jacoco {
   version '0.7.5.201505241946'
}

我關注了這篇博客文章: Android應用程序的測試覆蓋率報告

當我運行createDebugCoverageReport ,將在正確的文件夾(build / reports / coverage / flavor / debug / index.html)中生成報告。 但是,當我打開覆蓋率報告時,每個指令和分支的代碼覆蓋率均為0%。 一切都是“遺漏的”。

在此處輸入圖片說明

首先,我認為問題可能出在源代碼和測試代碼的位置,但是它們位於/src/main/java//src/androidTest/java/

有人知道如何解決此問題嗎?

我在Jacoco的個人經歷並不好。 它不能正確覆蓋,並且當添加新測試時,它也不會更新覆蓋率。

我剛剛刪除了它,似乎沒有對Jacoco的支持。

對於您的問題,根據@ kolargol00

回答

您使用JaCoCo插件的過時版本的任何特殊原因? 為了獲得Java 8支持,您必須至少使用版本0.7.0(請參閱changelog )。

在您的配置中,報告目標受限於驗證階段,因此運行mvn test不會生成任何報告,因為它不運行驗證階段( 測試階段先於verify )。 您必須使用mvn verify執行測試並生成報告。

JaCoCo項目提供了示例Maven配置。 您可以嘗試“ JAR項目的此POM文件在代碼覆蓋率下運行JUnit測試並創建覆蓋率報告 ”。

根據我的經驗,如果任何一個測試用例失敗,那么我們將獲得覆蓋率為0%的報告,請確保您的所有測試都通過了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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