https://kotlinlang.org logo
#mockk
Title
t

thanksforallthefish

01/18/2019, 2:13 PM
I am having an interesting case with mocking annotations
Copy code
import io.kotlintest.specs.ExpectSpec
import io.mockk.mockk

interface AnInterface
annotation class BlaBla

class MustExistValidatorTest : ExpectSpec() {
	val anInterface = mockk<AnInterface>()
	val blaBla = mockk<BlaBla>()
}
ExpectSpec
is from #kotlintest . However this code runs
Copy code
import io.kotlintest.specs.ExpectSpec
import io.mockk.mockk

interface AnInterface
annotation class BlaBla

class MustExistValidatorTest : ExpectSpec() {
	val blaBla = mockk<BlaBla>()
}
this one oth fails
Copy code
Caused by: io.mockk.MockKException: Can't instantiate proxy for class ch.olmero.masterplan.validation.BlaBla
	at io.mockk.impl.instantiation.JvmMockFactory.newProxy(JvmMockFactory.kt:64)
	at io.mockk.impl.instantiation.AbstractMockFactory.newProxy$default(AbstractMockFactory.kt:29)
	at io.mockk.impl.instantiation.AbstractMockFactory.mockk(AbstractMockFactory.kt:54)
	at ch.olmero.masterplan.validation.MustExistValidatorTest.<init>(MustExistValidatorTest.kt:27)
	... 18 common frames omitted
Caused by: io.mockk.proxy.MockKAgentException: Failed to subclass interface ch.olmero.masterplan.validation.BlaBla
	at io.mockk.proxy.jvm.ProxyMaker.proxy(ProxyMaker.kt:38)
	at io.mockk.impl.instantiation.JvmMockFactory.newProxy(JvmMockFactory.kt:34)
	... 21 common frames omitted
Caused by: java.lang.IllegalArgumentException: Could not create type
	at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:154)
	at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:174)
	at io.mockk.proxy.jvm.transformation.SubclassInstrumentation.subclass(SubclassInstrumentation.kt:46)
	at io.mockk.proxy.jvm.ProxyMaker.subclass(ProxyMaker.kt:110)
	at io.mockk.proxy.jvm.ProxyMaker.proxy(ProxyMaker.kt:35)
	... 22 common frames omitted
Caused by: java.lang.NoClassDefFoundError: java/lang/annotation/Annotation (wrong name: java/lang/WeakPairMap$Pair$Weak$1)
2 Views