Как издеваться над ObjectMapper.readValue () с помощью mockk - PullRequest
2 голосов
/ 19 июня 2020

Был задан аналогичный вопрос о Mockito здесь

У меня есть ситуация, когда я хотел бы высмеять 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

Я чесал голову, пытаясь понять это в Мокк .

1 Ответ

2 голосов
/ 19 июня 2020

В итоге я понял это:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...