2014-06-12 5 views
4

Я пытаюсь проверить свой контроллер с помощью mockMvc и mockito. Собственно корпус контроллера следующим образом:Сериализация исключения из ложных бросков

Message createXYZ(@RequestBody XYZ inst){ 
    //creates XYZ 
} 

Теперь для проталкивания значения с помощью тела запроса, я создаю JSON с помощью GsonBuilder по сериализации XYZ. Вот структура для класса XYZ:

class XYZ{ 

    List<Y> listofYs; 
    //some other properties as well 
} 

Я создаю и установив макет для списка listofYs и когда Gson пытается сериализовать экземпляр XYZ, который имеет высмеивал listofYs ее производящего NPE.

Есть ли способ вокруг или это то, что я делаю это совершенно неправильно?

ответ

5

Согласно the Mockito documentation, вы можете сделать макет сериализации:

List serializableMock = mock(List.class, withSettings().serializable()); 
+0

Привет Стефан, я получаю java.lang.UnsupportedOperationException: Ожидать параметризированный тип, получил интерфейс org.mockito.internal.MockitoInvocationHandler. Вам не хватает слова TypeToken? as the stacktrace – Sourabh

+0

Ну, как выглядит ваш исходный код сейчас? Кроме того: вы на самом деле _need_, чтобы высмеять список для проверки взаимодействия с ним? Если речь идет не о проверке взаимодействия, самым простым решением будет просто использовать фактический, сериализуемый список. –

+0

На самом деле да, я хотел проверить взаимодействие. Но теперь я использую подделки для этой цели, но все же я теряю проверку части поведения и взаимодействия. :( – Sourabh

Смежные вопросы