java.lang.ClassNotFoundException:com.intellij.junit5.JUnit5IdeaTestRunner在kotlin中使用spek

我在kotlin测试中使用spek非常新。 使用spek时,在logcat上得到以下错误。 我不是为什么我得到这个

java.lang.ClassNotFoundException: com.intellij.junit5.JUnit5IdeaTestRunner at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.intellij.rt.execution.junit.JUnitStarter.getAgentClass(JUnitStarter.java:252) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:131) 

我有以下依赖gradle文件

 testImplementation 'junit:junit:4.12' testImplementation 'org.jetbrains.spek:spek-api:1.1.0-beta3' testImplementation 'org.jetbrains.spek:spek-junit-platform-engine:1.1.0-beta3' testImplementation 'org.junit.platform:junit-platform-runner:1.0.0-M3' 

测试文件

 import org.jetbrains.spek.api.Spek import org.jetbrains.spek.api.dsl.given import org.jetbrains.spek.api.dsl.it import org.junit.Assert.assertEquals import org.junit.platform.runner.JUnitPlatform import org.junit.runner.RunWith @RunWith(JUnitPlatform::class) class ExampleUnitTest : Spek({ val x = 2 val y = 3 given("x = $x and y = $y") { val sum = x + y it("should be that x + y = 5") { assertEquals(5, sum) } it("should be that x - y = -1") { val subtract = x - y assertEquals(-1, subtract) } } }) 

你可以请建议,如何得到这种错误。 我会在这个话题上提出宝贵的意见或评论。

您只需添加包含runner的库(另请参阅http://junit.org/junit5/docs/current/user-guide/#installation

 testImplementation 'org.junit.jupiter:junit-jupiter-api:5.0.0-M3' 

我鼓励你也更新你的spek-libs到最新版本:

 testImplementation 'junit:junit:4.12' 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-M5' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.0.0-M5' 

更新

目前,最近的junit lib与M5-Milestone不兼容,所以使用M4版本

 testImplementation 'org.junit.platform:junit-platform-runner:1.0.0-M4' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.0.0-M4'