Mockito Fehler : "Wollte aber nicht aufgerufen werden:.. es gab Jedoch auch andere Interaktionen mit diesem mock"
Im immer die folgende Fehlermeldung, wenn ich versuche zu verspotten überladene Methoden durch die übergabe gegossene Werte .
Zum Beispiel, um zu höhnen
ABCClass.logWarn(Logger log,String , String description, Throwable e);
Im tun
`ABCClass.logWarn(null,WarningString, description, (Throwable)null);
...\\ The rest of the methods are standard...
verify(event).setStatus((Throwable)null);//**Line 76**
Aber wenn ich meine test-Fällen Im immer die folgende Fehlermeldung
ABCClassTest.testLogWarn:76
Wanted but not invoked:
MockEvent.setStatus(null);
-> at com.path.ABCClassTest.testLogWarn(ABCClassTest.java:76)
However, there were other interactions with this mock:.....
Warum ist setStatus(null)
voraussichtlich aufgerufen werden, auch nach speziell aufrufen der
setStatus((Throwable)null);
?
Zusätzliche Details
Definition von logWarn
private static void logWarn(String eventType, String eventName, String errMsg, Throwable e) {
AnEvent event = AnEventFactory.create(eventType);
event.setName(eventName);
if(e!=null)
event.setStatus(e);//so this is never called if the throwable is null.
//How do I modify the verify behavior?
/*
Bleh */
event.completed();
}
InformationsquelleAutor seeker | 2013-08-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Casting ändert nicht das Objekt, das eine variable verweist. Das macht der compiler sich nicht beschweren, wenn Sie die variable in einer Weise, die nicht passend zu Ihrem Typ. Also Sie sind wirklich vorbei
null
insetStatus
nach Ihrerverify
.Natürlich, wenn Sie Fragen, warum
setStatus
ist nicht tatsächlich aufgerufen werden, indem Sie den code, den Sie testen wollen, würden Sie brauchen, um es zu veröffentlichen, bevor jemand sagen kann, Sie.logWarn
Methode, die eigentlich gar nicht nennen, diesetStatus
wenn das übergebene argument ist Null.mehr Details zu der Frage. Irgendwelche Gedanken?
Also ich verstehe nicht, Ihre Frage. Ihren code eindeutig nicht nennen
setStatus
wenne
null ist. Du hast eineverify
, die behauptet, dass es nicht genannt, bekommen; und natürlich, dassverify
ausfällt. Was fühlen Sie nicht richtig funktioniert?Sorry für die Störung. Ich fand genau was ich suchte, war hier. stackoverflow.com/questions/12862659/...
OK, deine Frage nie gesagt, dass Sie waren auf der Suche, um zu überprüfen, dass Ihre Methode wurde NICHT aufgerufen. Ich habe dafür gestimmt, schließen Sie Ihre Frage als "unklar" - wer hat Sie Ihre genaue problem wäre es vielleicht besser, nicht zu finden in dieser Frage.
InformationsquelleAutor Dawood ibn Kareem
Wird neu in Mockito, die ich nicht ganz begreife, was ich suchte. Aber diese ist genau das, was ich wollte.
Hoffe, dies hilft jemand anderes stecken, mit einem ähnlichen problem.
InformationsquelleAutor seeker