我正在尝试使用mockMvc和mockito来测试我的控制器。实际的控制器主体如下:
Message createXYZ(@RequestBody XYZ inst){
//creates XYZ
}
现在通过请求体推送值,我通过序列化XYZ使用GsonBuilder创建一个JSON。以下是XYZ类的结构:
class XYZ{
List<Y> listofYs;
//some other properties as well
}
我正在为List listofYs创建和设置一个模拟器,当Gson尝试序列化一个XYZ实例时,它有一个模拟的listofYs它生成NPE。
有没有办法或是我完全错了?
答案 0 :(得分:10)
根据the Mockito documentation,您可以制作模拟序列化:
List serializableMock = mock(List.class, withSettings().serializable());
答案 1 :(得分:2)
与Stefan's answer above类似,通过注释创建的模拟可以通过以下方式标记为可序列化:
@Mock(serializable = true)
List serializableMock;