存在类似的问题,但没有一个专门针对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
)
一半。
答案 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
...
}