LeoColman
01/08/2020, 4:55 PM./gradlew testdave08
01/09/2020, 10:51 AM.... > initializationError FAILED
    java.lang.reflect.InvocationTargetException
        Caused by: java.lang.NoClassDefFoundError at ....dave08
01/09/2020, 10:51 AMLeoColman
01/09/2020, 1:04 PMLeoColman
01/09/2020, 1:04 PMLeoColman
01/09/2020, 1:05 PMdave08
01/09/2020, 1:05 PMLeoColman
01/09/2020, 1:05 PMLeoColman
01/09/2020, 1:05 PMdave08
01/09/2020, 1:05 PMIf you are using Gradle+Kotlin, this works for both Android and non-Android projects:
Kotlin (build.gradle.kts)
tasks.withType<Test> {
useJUnitPlatform()
}
dependencies {
testImplementation("io.kotlintestkotlintest runner junit53.3.0")
}
dave08
01/09/2020, 1:06 PMLeoColman
01/09/2020, 1:06 PMtestImplementationLeoColman
01/09/2020, 1:06 PMandroidTestImplementationdave08
01/09/2020, 1:06 PMLeoColman
01/09/2020, 1:06 PMtestImplementationLeoColman
01/09/2020, 1:06 PMtestImplementationLeoColman
01/09/2020, 1:06 PMdave08
01/09/2020, 1:07 PMdave08
01/09/2020, 1:08 PMdave08
01/09/2020, 1:08 PMdave08
01/09/2020, 1:10 PMdave08
01/09/2020, 1:10 PMLeoColman
01/09/2020, 1:12 PMLeoColman
01/09/2020, 1:12 PMLeoColman
01/09/2020, 1:13 PMdave08
01/09/2020, 1:13 PMInternal Error occurred.
java.util.NoSuchElementException
	at java.util.ArrayList$Itr.next(ArrayList.java:862)
	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1042)
	at com.intellij.junit5.JUnit5TestRunnerUtil.createSelector(JUnit5TestRunnerUtil.java:202)
	at com.intellij.junit5.JUnit5TestRunnerUtil.buildRequest(JUnit5TestRunnerUtil.java:82)
	at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:55)
	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)dave08
01/09/2020, 1:13 PMLeoColman
01/09/2020, 1:14 PMdave08
01/09/2020, 1:17 PMClassNotFoundExceptionLeoColman
01/09/2020, 1:19 PMdave08
01/09/2020, 1:22 PMCaused by: java.lang.ClassNotFoundException: net.bytebuddy.dynamic.MethodTransformer$Simple
	at <http://java.net|java.net>.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 29 moredave08
01/09/2020, 1:22 PMCaused by: java.lang.NoClassDefFoundError: net/bytebuddy/dynamic/MethodTransformer$Simple
	at org.mockito.internal.creation.bytebuddy.MockBytecodeGenerator.generateMockClass(MockBytecodeGenerator.java:38)
	at org.mockito.internal.creation.bytebuddy.CachingMockBytecodeGenerator$CachedBytecodeGenerator.generate(CachingMockBytecodeGenerator.java:72)
	at org.mockito.internal.creation.bytebuddy.CachingMockBytecodeGenerator$CachedBytecodeGenerator.getOrGenerateMockClass(CachingMockBytecodeGenerator.java:64)
	at org.mockito.internal.creation.bytebuddy.CachingMockBytecodeGenerator.get(CachingMockBytecodeGenerator.java:27)
	at org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker.createProxyClass(ByteBuddyMockMaker.java:54)
	at org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker.createMock(ByteBuddyMockMaker.java:27)
	at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:32)
	at org.mockito.internal.MockitoCore.mock(MockitoCore.java:55)
	at org.mockito.Mockito.mock(Mockito.java:1449)
	at org.mockito.Mockito.mock(Mockito.java:1362)dave08
01/09/2020, 1:23 PMLeoColman
01/09/2020, 1:25 PMLeoColman
01/09/2020, 1:25 PMLeoColman
01/09/2020, 1:25 PMLeoColman
01/09/2020, 1:26 PMdave08
01/09/2020, 1:26 PMdave08
01/09/2020, 1:26 PMdave08
01/09/2020, 1:27 PMLeoColman
01/09/2020, 1:27 PMandroidTestImplementation("io.kotlintest:kotlintest-runner-junit4:3.4.2") { exclude(module = "objenesis") }LeoColman
01/09/2020, 1:27 PMBut if Mockito is older, wouldn't KotlinTest maybe count on some new features that won't exist?I don't think so. We depend on that for very specific features, such as mocking
LocalDate.now()LeoColman
01/09/2020, 1:27 PMI think the syntax is similar to this:(This is actually a case where I had to exclude something for android, as Objenesis doesn't work with older androids)
dave08
01/09/2020, 1:34 PMtestImplementation("io.kotlintest:kotlintest-runner-junit5:3.4.2") {
        exclude(module = "byte-buddy")
    }LeoColman
01/09/2020, 1:35 PMdave08
01/09/2020, 1:42 PM+--- org.mockito:mockito-core:1.10.19 -> 2.0.52-beta
|    +--- net.bytebuddy:byte-buddy:1.3.16 -> 1.9.3
|    \--- org.objenesis:objenesis:2.1 -> 2.6LeoColman
01/09/2020, 1:43 PMLeoColman
01/09/2020, 1:44 PMLeoColman
01/09/2020, 1:44 PMdave08
01/09/2020, 1:46 PMdave08
01/09/2020, 1:50 PMLeoColman
01/09/2020, 1:50 PMLeoColman
01/09/2020, 1:50 PMLeoColman
01/09/2020, 1:51 PMdave08
01/09/2020, 1:51 PMdave08
01/09/2020, 1:58 PMLeoColman
01/09/2020, 1:59 PMLeoColman
01/09/2020, 1:59 PMLeoColman
01/09/2020, 1:59 PMLeoColman
01/09/2020, 1:59 PMdave08
01/09/2020, 1:59 PMLeoColman
01/09/2020, 1:59 PMLeoColman
01/09/2020, 2:00 PM./gradlew testLeoColman
01/09/2020, 2:00 PMLeoColman
01/09/2020, 2:00 PMLeoColman
01/09/2020, 2:00 PMdave08
01/09/2020, 2:01 PMLeoColman
01/09/2020, 2:02 PMLeoColman
01/09/2020, 2:02 PMdave08
01/09/2020, 2:02 PMLeoColman
01/09/2020, 2:02 PMLeoColman
01/09/2020, 2:03 PMLeoColman
01/09/2020, 2:03 PMdave08
01/09/2020, 2:04 PMdave08
01/09/2020, 2:04 PMLeoColman
01/09/2020, 2:05 PMLeoColman
01/09/2020, 2:05 PMLeoColman
01/09/2020, 2:06 PMLeoColman
01/09/2020, 2:06 PMLeoColman
01/09/2020, 2:06 PMdave08
01/09/2020, 2:08 PMsam
01/09/2020, 2:12 PMLeoColman
01/09/2020, 2:13 PMLeoColman
01/09/2020, 2:13 PMsam
01/09/2020, 2:14 PMLeoColman
01/09/2020, 2:15 PMLeoColman
01/09/2020, 2:15 PMsam
01/09/2020, 2:15 PMsam
01/09/2020, 2:15 PM