问题描述
我用 Kotlin 和 JUnit 5 进行了这个测试:
@ExtendWith(MockKExtension::class)
class MyTest {
@MockK
lateinit var repo: MyRepository
@Test
fun test() {
every { repo.findById("1") } returns null
}
}
线程“main”中的异常# START NON-TRANSLATABLE java.lang.StackOverflowError 在 java.base/java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) 在 io.mockk.proxy.jvm.dispatcher.JvmMockKdispatcher.get(JvmMockKdispatcher.java:16) 在 java.base/java.lang.Object.hashCode(Object.java:122) 在 java.base/java.util.HashMap.hash(HashMap.java:340) 在 java.base/java.util.HashMap.get(HashMap.java:558) 在 java.base/jdk.internal.reflect.Reflection.filterMethods(Reflection.java:300) 在 java.base/java.lang.class.getmethodHelper(Class.java:1417) 在 java.base/java.lang.class.getmethod(Class.java:1343)
我不知道发生了什么。 MyRepository
是一种方法的接口:
fun findById(id: String) : MyEntity?
Kotlin 版本:1.4.21
Junit 版本:5.7.0
MockK 版本:1.10.5
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)