我具有类似以下功能,可以从任何有效负载生成提供类型的对象:
public static <T> Optional<T> generateObject(String payloadJson,Class<T> type) {
T objectPayload = null;
try {
objectPayload = objectMapper.readValue(payloadJson,type);
}catch (IOException e) {
log.info(e.getMessage());
}
return Optional.ofNullable(objectPayload);
}
已按如下方式编写测试用例
@Test
void generateObject() throws Exception {
Mockito.when( eventUtil.generateObject("a",Mockito.any(Class.class)) ).thenReturn( Optional.of("") );
Mockito.<Optional<Object>>when( eventUtil.generateObject("b",Mockito.any(Class.class)) ).thenReturn( Optional.of("") );
Optional<Object> o2 = eventUtil.generateObject("b",Mockito.any(Class.class));
assertEquals( "lol",o2.get() );
Mockito.verify(eventUtil);
}
Mockito.when语句中的测试执行失败
java.lang.IllegalArgumentException:无法识别的类型:[null]
** 注意:我曾尝试提供 thenReturn(Optional.of()) ,但是没有运气,因此提供了null,另一个模型类甚至父类本身。在这种情况下,请指出正确的方向。