Как настроить Jacoco со Spek в мультипроекте?

Я хочу измерить охват Jacoco в model проекте, одном из дочерних проектов. Однако после задания test задача jacocoTestReport пропускается.

test :

 :model:compileKotlin UP-TO-DATE :model:compileJava UP-TO-DATE :model:copyMainKotlinClasses UP-TO-DATE :model:processResources UP-TO-DATE :model:classes UP-TO-DATE :model:compileTestKotlin UP-TO-DATE :model:compileTestJava UP-TO-DATE :model:copyTestKotlinClasses UP-TO-DATE :model:processTestResources UP-TO-DATE :model:testClasses UP-TO-DATE 3 10, 2017 8:17:48 org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry loadTestEngines Discovered TestEngines with IDs: [spek] :model:junitPlatformTest Test run finished after 113 ms [ 4 containers found ] [ 0 containers skipped ] [ 4 containers started ] [ 0 containers aborted ] [ 4 containers successful ] [ 0 containers failed ] [ 1 tests found ] [ 0 tests skipped ] [ 1 tests started ] [ 0 tests aborted ] [ 1 tests successful ] [ 0 tests failed ] :model:test :model:test SKIPPED 

Затем выводится xml-файл. (Модель / строительство / тест-результаты / JUnit-платформа / TEST-spek.xml)

jacocoTestReport :

 :model:compileKotlin UP-TO-DATE :model:compileJava UP-TO-DATE :model:copyMainKotlinClasses UP-TO-DATE :model:processResources UP-TO-DATE :model:classes UP-TO-DATE :model:jacocoTestReport SKIPPED 

build.gradle:

 buildscript { ext.kotlinVersion = '1.1.0' repositories { mavenLocal() mavenCentral() maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" classpath "org.junit.platform:junit-platform-gradle-plugin:1.0.0-M3" } } allprojects { ext { spekVersion = '1.1.0-beta3' } repositories { mavenLocal() mavenCentral() jcenter() maven { url "http://dl.bintray.com/jetbrains/spek" } maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } maven { url "https://oss.sonatype.org/content/repositories/releases/" } } } project(":model") { apply plugin: "java" apply plugin: "kotlin" apply plugin: 'org.junit.platform.gradle.plugin' apply plugin: "jacoco" jacoco { reportsDir = file("$rootProject.buildDir/reports/jacoco") } jacocoTestReport { reports { html.enabled = true xml.enabled = true csv.enabled = false } } junitPlatform { filters { engines { include 'spek' } } } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" testCompile "org.jetbrains.spek:spek-api:$spekVersion" testCompile 'org.amshove.kluent:kluent:1.14' testRuntime "org.jetbrains.spek:spek-junit-platform-engine:$spekVersion" testRuntime 'org.junit.platform:junit-platform-console:1.0.0-M3' } } 

Что делать, чтобы сделать задачу jacocoTestReport успешной?

[РЕДАКТИРОВАТЬ]

Когда я добавляю onlyIf , jacocoTestReport , но он все равно не работает.

 jacocoTestReport { onlyIf = { true } } 

Выход:

 :model:compileKotlin UP-TO-DATE :model:compileJava UP-TO-DATE :model:copyMainKotlinClasses UP-TO-DATE :model:processResources UP-TO-DATE :model:classes UP-TO-DATE :model:jacocoTestReport FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':model:jacocoTestReport'. > Unable to read execution data file model\build\jacoco\test.exec 

По умолчанию плагин JUnit Gradle отключает стандартную задачу теста Gradle, но это можно переопределить с помощью флажка enableStandardTestTask. Кажется, задача jacocoTestReport ищет это.

 junitPlatform { filters { engines { include 'spek' } } enableStandardTestTask true } 

См. http://junit.org/junit5/docs/current/user-guide/#running-tests-build

Intereting Posts
Объект базы данных Singleton с параметризованной инициализацией при запуске? Java -> Преобразование Kotlin с необработанными типами Android Studio не выполняет рефакторинг «только для чтения» kapt сгенерированный код Делегация класса Колтина, передавая это делегату Котлин объединяет два изменяемых значения с возможностью смены имени Плагин Maven-publish gradle пропускает версию Нужно ли использовать @Repository, когда я использую только JdbcTemplate в своем классе DAO? Как использовать объект Котлина путем отражения Модернизация не удается опубликовать на samsung s3 версии android 4.0.4 в то время как на данных Ссылка функции Котлина Добавить пользовательские запросы REST API для Twitter с помощью Kotlin Зависимость импорта от Maven Jetbrains Exposed NPE по конструктору и суперклассу Выделите несколько элементов в представлении списка андроида при выборе Переопределение нескольких методов интерфейса в лямбда-выражениях Котлина