有人问过类似的关于Mockito here
的问题。我遇到一种情况,我想在下一行中模拟readValue
val animal: Animal = objectMapper.readValue(String(message.body))
我尝试过
@Test
fun `test you filthy animal`() {
val animal = Animal("bird")
every {
objectMapper.readValue(any<String>())
} returns animal
}
...但是我不断收到以下错误:
Not enough information to infer type variable T
我一直在挠头,试图在Mockk中弄清楚。
答案 0 :(得分:3)
我最终弄清楚了:
import org.junit.jupiter.api.Test
@Test
fun `test you filthy animal`() {
val animal = Animal("bird")
every {
objectMapper.readValue<Animal>(any<String>())
} returns animal
}
编辑: 后来我遇到了更多问题,这些问题可以通过以下方法解决:
every {
objectMapper.readValue(any<String>(), any<TypeReference<Animal>>())
} returns animal