2015-05-27 12 views
6

Ich versuche, eine JsonProcessingException zu erstellen, um von einem Scheinobjekt ausgelöst zu werden.Erstellen Sie eine JsonProcessingException

Allerdings kann ich kein JsonProcessingException-Objekt erstellen, da alle Konstruktoren geschützt sind. Wie komme ich hier zurecht?

+3

Warum erstellen Sie keine neue Klasse namens 'MyJsonProcessingException' und erben' JsonProcessingException' Klasse? – R9J

Antwort

2

wie über Sie eine anonyme Ausnahme des Typs JsonProcessingException erstellen

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

Die {} Klammern funktioniert der Trick. Dies ist viel besser, da es für den Leser des Testcodes nicht verwirrend ist.

13

Wie wäre es, stattdessen eine der bekannten direkten Unterklassen zu werfen?

für v1.0

Direct Known Subclasses: 
JsonGenerationException, JsonMappingException, JsonParseException 

für v2.0

Direct Known Subclasses: 
JsonGenerationException, JsonParseException 
+0

Funktioniert perfekt! Vielen Dank. – pez