Sou*_*abh 8 java unit-testing mockito gson
我正在尝试使用mockMvc和mockito来测试我的控制器.实际控制器主体如下:
Message createXYZ(@RequestBody XYZ inst){
//creates XYZ
}
Run Code Online (Sandbox Code Playgroud)
现在通过请求体推送值,我通过序列化XYZ使用GsonBuilder创建一个JSON.这是XYZ类的结构:
class XYZ{
List<Y> listofYs;
//some other properties as well
}
Run Code Online (Sandbox Code Playgroud)
我正在为List listofYs创建和设置一个模拟器,当Gson尝试序列化一个XYZ实例时,它有一个模拟的listofYs它生成NPE.
有办法还是我完全错了?
小智 12
根据Mockito文档,您可以使模拟序列化:
List serializableMock = mock(List.class, withSettings().serializable());
Run Code Online (Sandbox Code Playgroud)
与上述Stefan的答案类似,通过注释创建的模拟可以通过以下方式标记为可序列化:
@Mock(serializable = true)
List serializableMock;
Run Code Online (Sandbox Code Playgroud)