可能是一个奇怪的问题,但的确我想在测试中实现更多的覆盖率,尽管我编码为JsonProcessingException
我无法创建产生此异常的有效负载,也许是因为杰克逊非常聪明,将所有东西都转换为字符串,即使是坏字符串,它也会绕过JSON规范。我的问题是,杰克逊是相当不错的:)如何使用杰克逊得到JsonProcessingException
我基本上要一个有效载荷,当我运行它,它打破JsonProcessingException
:
String jsonPayload = objectMapper.writeValueAsString(payload);
我已经尝试了一些这样的:
HashMap<String, String> invalidJSONPayload= new HashMap<>();
invalidJSONPayload.put("021",021);
invalidJSONPayload.put("---",021);
invalidJSONPayload.put("~",021);
我不喜欢这种类型,所以随时可以推荐另一种。例如,一个空的对象,抛出JsonMappingException
,我也已经抓住了那个。
好了,你可以模拟一个'ObjectMapper'并将其抛出异常,因为ObjectMapper不是最终的 – fge 2014-11-03 14:30:59
这不是嘲笑测试本身,我想重现一个场景,事实上可以发生在正在运行的应用程序的上下文中。也许一个不存在?如果是这样,为什么是例外?感谢你的回答。 – bitoiu 2014-11-03 15:31:37
好吧,我以为你想测试你的代码的行为,如果这个异常被提出,这就是为什么我建议这个 – fge 2014-11-03 15:42:44