5
JUnit Jupiter (5)를 기반으로 테스트 환경을 구성하는 데 어려움을 겪고 있습니다. 두 가지 다른 오류가 있습니다 :테스트 환경 구성 : Android + JUnit 5 + Mockito + Spek + Kotlin
WARNING: TestEngine with ID 'spek' failed to discover tests
org.junit.platform.commons.util.PreconditionViolationException: Could not load class with name...
Exception in thread "main" java.lang.NoSuchMethodError: org.junit.platform.launcher.Launcher.execute(Lorg/junit/platform/launcher/LauncherDiscoveryRequest;)V
at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:61)...
구성은 다음과 같습니다. 홈페이지 build.gradle
:
apply plugin: 'org.junit.platform.gradle.plugin'
buildscript {
ext.kotlin_version = '1.1.4-3'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-beta5'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.junit.platform:junit-platform-gradle-plugin:1.0.0"
classpath "de.mannodermaus.gradle.plugins:android-junit5:1.0.0"
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "http://dl.bintray.com/jetbrains/spek" }
}
}
junitPlatform {
filters {
engines {
include 'spek'
}
}
}
모듈 build.gradle
은 :
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'de.mannodermaus.android-junit5'
android {
compileSdkVersion 26
buildToolsVersion "26.0.0"
defaultConfig {
...
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
...
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'com.android.support:appcompat-v7:26.0.2'
implementation 'com.android.support:recyclerview-v7:26.0.2'
testImplementation 'org.jetbrains.spek:spek-api:1.1.4'
testImplementation 'org.jetbrains.spek:spek-junit-platform-engine:1.1.4'
testImplementation junit5()
// testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.0.0' not needed when using the one above
testImplementation 'org.junit.platform:junit-platform-runner:1.0.0'
testImplementation 'org.mockito:mockito-core:2.8.47'
testImplementation 'com.nhaarman:mockito-kotlin-kt1.1:1.5.0'
testCompileOnly "de.mannodermaus.gradle.plugins:android-junit5-embedded-runtime:1.0.0"
}
이 구성은 https://github.com/aurae/android-junit5 기반으로 할 예정이다. 그러나 나는 그것도없이 노력했다.
누구나 이러한 라이브러리에 대한 종속성 구성을 찾을 수 있습니까?
합니다. https://github.com/JetBrains/spek/issues/256 – tim