KOTLIN 和 MOCKK UUID 测试

问题描述 投票:0回答:0

这是一个基于 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())
        }
    }

第二种情况的任何解决方案,或任何解决方法?

kotlin static mocking uuid mockk
© www.soinside.com 2019 - 2024. All rights reserved.