2016-03-23 10 views
1

Ich benutze JUnit und Mockito, um zu testen, ob mein SOAP-Web-Service SOAP-Fehler korrekt behandelt und keine unerwünschten Ausnahmen zum Beispiel auslöst.Wie überprüft man, ob der SOAP-Fehler korrekt behandelt wird?

Also bis jetzt, wie Sie aus dem Code unten sehen können, ich nur testen, ob eine SOAPFaultException wird geworfen (natürlich tut es, ich warf es). Ich frage mich, ob ich überprüfen könnte, ob beim Empfang des SOAP-Fehlers eine andere Ausnahme ausgelöst wird.

Gibt es auch eine Möglichkeit, einen SOAP-Fehler nachzuahmen, ohne eine Ausnahme zu werfen (SOAPFaultException)?

Antwort

0

Ich schlage vor, Sie gehen mit einem Full-Stack-Mock (d. H. Einen Endpunkt auf einem lokalen Socket spawnen, zeigen Sie den Client dort). Dann erstelle einen Seifenfehler und lass den Mock einen appropriate exception über den Draht werfen. Wenn Sie CXF verwenden, habe ich eine simple JUnit Rule erstellt, die dies tut, siehe die Testmethode SoapServiceRuleTest.processSoapCallWithException().

Als generelle Strategie schlage ich vor, dass Sie einen abstrakten "happy case" Komponententest machen, den Sie dann einen Aufruf nach dem anderen sabotieren, indem Sie mit jeder Testmethode auf den Mock zurücksetzen und thenThrow (..) entsprechend hinzufügen.

Verwandte Themen