JaCoCo Gradle插件报告每个包的0.0类覆盖率

我的目录结构是:

|/src | |/main | | |/com.episo | | | |/contracts | | | | |/clip | | | | |/security | | | |/repositories | | | | |/memory | |/test | | |/com.episo | | | |/contracts | | | | |/clip | | | | |/security | | | |/repositories | | | | |/memory 

这里是我的build.gradle的相关部分:

 repositories { mavenCentral() maven { url "http://dl.bintray.com/jetbrains/spek" } } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version" compile 'com.google.guava:guava:19.0' testCompile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version" testCompile 'com.google.guava:guava:19.0' testCompile group: 'junit', name: 'junit', version: '4.12' testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version" testCompile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" testCompile 'org.junit.platform:junit-platform-runner:1.0.0-M4' testCompile 'org.junit.platform:junit-platform-console:1.0.0-M4' testCompile ('org.jetbrains.spek:spek-api:1.1.2') { exclude group: 'org.jetbrains.kotlin' } testRuntime ('org.jetbrains.spek:spek-junit-platform-engine:1.1.2') { exclude group: 'org.junit.platform' exclude group: 'org.jetbrains.kotlin' } } // JaCoCo coverage rules jacocoTestCoverageVerification { violationRules { rule { limit { minimum = 0.5 } } rule { element = 'PACKAGE' limit { counter = 'CLASS' value = 'COVEREDRATIO' minimum = 0.7 } } } } junitPlatform { filters { engines { include 'spek' } } enableStandardTestTask true } 

我的代码是用Kotlin编写的,我正在使用Spek编写我的单元测试。 当我通过IntelliJ GUI运行我的测试时,代码覆盖率被正确报告。 但是,当我运行gradle jacocoTestCoverageVerification ,我得到以下输出:

 * What went wrong: Execution failed for task ':jacocoTestCoverageVerification'. > Rule violated for bundle episo-contracts: instructions covered ratio is 0.2, but expected minimum is 0.5 Rule violated for package com.episo.contracts: classes covered ratio is 0.0, but expected minimum is 0.7 Rule violated for package com.episo.repositories: classes covered ratio is 0.0, but expected minimum is 0.7 Rule violated for package com.episo.contracts.security: classes covered ratio is 0.0, but expected minimum is 0.7 

显然,包装的0.0覆盖率是不正确的; 这意味着我没有写任何测试,根本不是这样。

有没有关于我的目录结构,使雅科克没有拿起哪些测试与哪些类匹配?