【问题标题】:How to mock ObjectMapper.readValue() using mockk如何使用 mockk 模拟 ObjectMapper.readValue()
【发布时间】:2020-06-19 02:22:02
【问题描述】:

有人问过关于 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 中弄明白。

【问题讨论】:

    标签: kotlin mockk junit-jupiter


    【解决方案1】:

    我终于弄明白了:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-18
      • 1970-01-01
      • 2019-03-15
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 2021-03-02
      • 2019-04-12
      相关资源
      最近更新 更多