这是一个基于 Kotlin-Mockk 的测试用例,我试图在其中模拟静态类“UUID”。
这在用于获取随机字符串而不是 UUID 时有效
mockkStatic(UUID::类) 每个 { UUID.randomUUID().toString() } 返回许多 uuidSource
//This is the uuid source
val uuidSource = listOf(
UUID.randomUUID().toString(),
UUID.randomUUID().toString(),
UUID.randomUUID().toString()
)
在下面的情况下它有效
@Test
fun x1() {
mockkStatic(UUID::class)
every { UUID.randomUUID().toString() } returnsMany uuidSource
listOf(1, 2, 3). forEach { _ ->
println(UUID.randomUUID().toString())
}
}
//但在下面的情况下它确实给出了错误
无法使 private static long java.util.UUID.parse4Nibbles(java.lang.String,int) 可访问:模块 java.base 不会“打开 java.util”到未命名的模块 @2aae9190
@Test fun x1() {
mockkStatic(UUID::class) every { UUID.randomUUID().toString() } returnsMany uuidSource
listOf(1, 2, 3). forEach { _ ->
println(UUID.randomUUID())
}
}
第二种情况的任何解决方案,或任何解决方法?