我在一个名为“httpresponsehelper”的类中有一个方法,当它抛出一个jsonprocessingexception时,我正在尝试对该方法进行单元测试,但我很难让它这样做:
private static void populateHTTPResponseWithData(ObjectNode httpResponse)
{
ObjectMapper mapper = new ObjectMapper();
responseMapData.keySet().forEach(item -> {
try
{
httpResponse.put(item, mapper.writeValueAsString(responseMapData.get(item)));
}
catch (JsonProcessingException e)
{
LOGGER.error("Json Processing Exception", e);
}
});
}
httpresponse参数是objectnode类型(jackson库),然后在方法体中从objectmapper类创建一个Map器对象。
resonsemapdata是一个名为“messageprocessresults”的类中的concurrenthashmap>。在这里,它看起来像是遍历键集,并在httpresponse参数中插入一个键值对字符串。
我尝试在mapper上使用mockito返回一个格式错误的json,但它似乎将值写入字符串并每次传递。
有没有人有什么建议或者有什么简单的方法?感谢您花时间阅读这个问题,并可能帮助我:d
1条答案
按热度按时间w41d8nur1#
在进行单元测试时,您不会关注底层代码如何创建异常,而是关注代码如何处理此类异常。在这方面,你可以嘲笑
ObjectNode
对象,并要求它在任何时候抛出异常put
方法被调用。