创建一个JsonProcessingException

我正在尝试创建一个由模拟对象抛出的JsonProcessingException。

when(mapper.writeValueAsString(any(Object.class))).thenThrow(new JsonProcessingException("Error")); 

但是我无法创建JsonProcessingException对象,因为所有构造函数都受到保护。 我该如何解决这个问题?

如何创建JsonProcessingException类型的匿名exception

 when(mapper.writeValueAsString(any(Object.class))).thenThrow(new JsonProcessingException("Error"){}); 

{}大括号可以解决问题。 这样做要好得多,因为它不会让测试代码的读者感到困惑。

如何投掷一个已知的直接子类呢?

对于v1.0

 Direct Known Subclasses: JsonGenerationException, JsonMappingException, JsonParseException 

对于v2.0

 Direct Known Subclasses: JsonGenerationException, JsonParseException