io.mockk.MockKException:使用对象模拟使用ObjectMapper.readValue()模拟对象列表时找不到答案?

时间:2020-08-22 16:30:41

标签: kotlin mocking objectmapper mockk

存在类似的问题,但没有一个专门针对kotlin,mockk和使用objectMapper.readValue来读取对象列表的问题。

给出一种方法:

fun someMethod(message: Message): List<Animal> = objectMapper.readValue(
        String(message.body),
        object : TypeReference<List<Animal>>() {}
)

我试图在这里嘲笑它:

@Test
fun `test you filthy animals`() {
    ...
    val animals: List<Animal> = emptyList()
    every { objectMapper.readValue<List<Animal>>(
       any<String>(), 
       any<Class<List<Animal>>>()
    ) } returns animals
    ...
}

但这没用。我收到以下错误:

io.mockk.MockKException: no answer found for: ObjectMapper(#72).readValue(
     somebody,  
     be.kind.to.Nature$someMethod$animals$1@46b2a11a
)

一半。

1 个答案:

答案 0 :(得分:2)

永远带我经历这个过程,但在这里与大家分享繁荣!

@Test
fun `test you filthy animals`() {
    ...
    val animals: List<Animal> = emptyList()
    every { objectMapper.readValue<List<Animal>>(
       any<String>(), 
       any<TypeReference<List<Animal>>>()
    ) } returns animals
    ...
}