Mockito, void-Methode mit geprüfter Ausnahme

8

Ich möchte wissen, warum ich eine Ausnahme behandeln muss, wenn ich mich über eine void-Methode lustig mache, die eine Ausnahme auslöst.

Zum Beispiel

%Vor%

Wenn ich das jetzt mache,

%Vor%

führt zu Kompilierungsfehler, der

sagt
  

"Fehler: nicht gemeldete Ausnahme SomeException; muss abgefangen oder als geworfen deklariert werden"

Ich frage mich, warum ich die Ausnahme für die Methode behandeln muss, die selbst verspottet wird.

    
Aditya Kumar 20.10.2013, 08:02
quelle

1 Antwort

8

Wenn Sie ein Objekt mit Mockito in Java mokieren. Das Framework ändert nichts an der Sprachspezifikation. Und in Java ist die throws -Klausel bei der Kompilierung definiert. Sie können die deklarierten Ausnahmen zur Laufzeit nicht ändern. Wenn Sie in Ihrem Fall die Methode MyObject.call() aufrufen, müssen Sie die SomeException wie in jedem normalen Java-Code behandeln.

Da Sie im Komponententest nicht mit Dingen umgehen möchten, die Sie nicht testen. In Ihrem Fall würde ich einfach throws SomeException in der Testmethode neu deklarieren.

    
LaurentG 20.10.2013, 10:07
quelle

Tags und Links