我知道在stackexchange上有很多类似的问题,但这让我很生气,没有任何其他答案对我有帮助。我已经使用了几乎所有力量标志,我可以找到它。
我的Gradle版本是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
或gradle clean test jacocoTestReport
或gradle clean --re-run
等时,我会得到相同的结果。
gradle test
:compileJava
:processResources
:classes
:compileTestJava
:processTestResources UP-TO-DATE
:testClasses
:test UP-TO-DATE
:jacocoTestReport SKIPPED
我在src / test / java位置只有一个测试。
为什么不生成报告并运行?我不知所措。
答案 0 :(得分:1)
在测试配置中删除错误的include语句。
这似乎导致测试任务始终是最新的(不执行任何测试,因为包含模式不匹配)
如果生成报告所需的jacocoTestReport
没有execution data
,则会跳过execution data
。执行test
任务时应生成此test
。在您的示例中,我们看到jacocoTestReport
任务始终标记为最新(因为包含无效的include语句),导致构建永远不会为-keep
任务生成任何输入。