У меня есть 2 проекта AS на основе Kotlin. Один работает отлично, другой - нет. Оба имеют идентичную структуру и gradle config. Я использую Kotlin 1.1.4-2 с AS 3.0b2.
Проблема в том, что когда я запускаю покрытие кода, классы, которые я тестирую, даже не отображаются в отчете о покрытии. Единственное, что я вижу, это R.java и BuildConfig.java, но ни один из моих исходных файлов не найден.
Все исходные файлы основаны на Kotlin. Я использую Spek для тестирования модулей. Та же настройка и версии, что и мой другой функциональный проект. Я пробовал использовать оба кодекса JaCoCo и Jetbrains и не работает.
Прошу прощения, я пока не могу вставлять фотографии.
В этом проблема: отчет о покрытии
Здесь моя структура проекта: структура файла
И вот мой блок gradle android:
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName libraryVersion
}
buildTypes {
debug {
testCoverageEnabled = true
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
и мои зависимости:
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation "io.reactivex.rxjava2:rxkotlin:2.1.0"
testImplementation 'junit:junit:4.12'
testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
testImplementation 'org.jetbrains.spek:spek-api:1.1.2'
testImplementation 'org.jetbrains.spek:spek-junit-platform-engine:1.1.2'
testImplementation 'org.junit.platform:junit-platform-runner:1.0.0-M4'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.0.0-M4'
implementation 'com.android.support:appcompat-v7:26.0.1'
implementation 'com.squareup.okhttp3:okhttp-ws:3.3.1'
implementation 'com.google.protobuf:protobuf-java:2.6.1'
Я пробовал работать
task copyTestClasses(type: Copy) {
from "build/tmp/kotlin-classes/debugUnitTest"
into "build/intermediates/classes/debug"
}
task copySdkClasses(type: Copy) {
from "build/tmp/kotlin-classes/debug"
into "build/intermediates/classes/debug"
}
до моего тестирования, и это тоже не работает.
Какой странный мой другой проект, используя ту же версию AS, версию Kotlin и структуру проекта, отлично работает и создает надлежащее покрытие кода.
Любая помощь будет оценена.