2017-06-14 10 views
0

私はstackexchangeでこれについて同様の質問がたくさんあることを知っていますが、これは私を夢中にしており、他の回答から何も私を助けてくれませんでした。私は見つけることができるgradleのためにちょうどあらゆる力の旗を使用した。jacocoカバレッジプラグインをスキップしているGradle

マイGradleのバージョンは、私がgradle testgradle clean test jacocoTestReportまたはgradle clean --re-runなどなどを実行すると、私は同じ結果を得る2.2.1

マイbuild.gradle

buildscript { 
ext { 
    springBootVersion = '1.5.3.RELEASE' 
} 
repositories { 
    mavenCentral() 
} 
dependencies { 
    classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") 
    classpath("se.transmode.gradle:gradle-docker:1.2") 
} 
} 
apply plugin: 'java' 
apply plugin: 'eclipse' 
apply plugin: 'org.springframework.boot' 
apply plugin: 'application' 
apply plugin: 'docker' 
apply plugin: 'jacoco' 

version = '0.0.1-SNAPSHOT' 
sourceCompatibility = 1.8 

repositories { 
    mavenCentral() 
} 


ext { 
    springCloudVersion = 'Dalston.RELEASE' 
} 

test { 
    include 'src/test/java' 
    finalizedBy jacocoTestReport 
} 

jacocoTestReport { 
    reports { 
    xml.enabled true 
    csv.enabled false 
    html.enabled false 
    xml.destination "${buildDir}/jacoco" 
} 
} 
dependencyManagement { 
    imports { 
    mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" 
    } 
} 

です。

gradle test 
:compileJava 
:processResources 
:classes 
:compileTestJava 
:processTestResources UP-TO-DATE 
:testClasses 
:test UP-TO-DATE 
:jacocoTestReport SKIPPED 

src/test/javaの場所には1つのテストしかありません。

レポートを生成して実行しないのはなぜですか?私は迷っている。

答えて

0

テスト設定で間違ったinclude文を削除してください。テストタスクは常に最新にさせるように思わ

(含まパターンが一致しないとすべてのテストを実行していない)

必要とされている利用可能なexecution dataはありません場合jacocoTestReportはスキップされますレポートを生成します。このexecution dataは、testタスクの実行中に生成する必要があります。あなたの例では、testタスクは常に(無効なインクルードステートメントのために)最新のものとしてマークされているので、jacocoTestReportタスクの入力をビルドで生成することはありません。

+1

ありがとうございます!それは、私が見た別の例から「借りた」ものであり、それをなぜ理解していないのかを含めたものです。学んだ教訓! – Justin

関連する問題