Überprüfen zwei Aufrufe der gleichen Methode mit einer anderen Methode invocation in zwischen, wenn die Reihenfolge wichtig ist, in Mockito
Ich dachte, das würde funktionieren:
InOrder inOrder = new InOrder(mock);
inOrder.verify(mock).method1();
inOrder.verify(mock).method2();
inOrder.verify(mock).method1();
... aber Mockito, sagt undesired invocation of mock.method1(). Wanted 1 time, but was 2 times.
änderte ich meinen code zu diesem:
inOrder.verify(times(2), mock).method1();
inOrder.verify(mock).method2();
Sollte es funktionieren, aber jetzt kann ich nicht testen, was ich testen wollte in den ersten Platz.
Könnte mir bitte jemand zeigen was ich falsch mache, oder wenn Mockito ist zu beschränkt für diese Art von test?
- Es funktioniert. Ihr code ruft methode1 zweimal den ersten und dann methode2.
- Es scheint, dass alles ok ist mit deinem ersten test. Kann man den code, den Sie testen?
- Sorry, ich habe es falsch ist. Wie du sagst, das tatsächlich funktioniert. Ich habe irgendwo einen Fehler gemacht sonst.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es getestet mit Mockito 1.9.5 und es funktioniert:
Also, wenn Sie nicht tun, alles andere falsch dein code sollte funktionieren. Was Mockito-version verwenden Sie?
order.verify(mock)
funktioniert wie erwartet, wenn wiederholt.order.verify(mock, times(n))
ist gierig und nicht, wenn Sie nicht mehr als n Aufrufe in Zukunft zur Verfügung stehen. Mockito 1.9.5