Ich experimentiere mit verwenden JMock einige meiner Unit-Tests Umwandlung zu Mockito verwenden und ein paar Stolpersteine getroffen.Mockito vs JMock
zunächst in meinen Tests bei JMock die Verifizierung unter Verwendung von und der Rückkehr des Stutzens in einem Schritt geschehen, wie
folgtcontextMockery.checking(new Expectations() {{
oneOf(dateUtilityService).isBeforeToday(URGENT_DATE);
will(returnValue(true));
}});
Dies bestätigt, im Wesentlichen, dass die Methode aufgerufen wird, und gibt einen gekapselten Wert bei gleichzeitig. Der Test schlägt fehl, wenn die isBeforeToday-Methode NICHT aufgerufen wird, und gibt gleichzeitig meinen vordefinierten Wert von true zurück. Während bei Mockito Verwendung muß ich überprüfen, ob die Methode aufgerufen wird, und dann meine Dosen Wert in getrennten Schritten zurück, die so ziemlich ein Duplikat ist wie folgt:
doReturn(true).when(dateUtilityService).isBeforeToday(URGENT_DATE);
verify(dateUtilityService).isBeforeToday(URGENT_DATE);
Gibt es keine Möglichkeit, dies in einem Schritt zu tun?
Zweitens, wenn ich vergessen habe, einen Methodenaufruf zu einem meiner Mocks in meinen Erwartungen aufzulisten, scheitert JMock den Test mit "Unerwarteter Aufruf Ausnahme" die meiner Meinung nach richtig ist, während Mockito den Test glücklich bestehen wird, wenn ich nicht explizit verifiziere dass ein Methodenaufruf zum Mock nie passieren darf, ist das richtig (scheint falsch)? Gibt es eine Möglichkeit, Mockito zu sagen, dass der Test fehlschlägt, wenn unerwartete Methodenaufrufe zu meinen verspotteten Abhängigkeiten gemacht werden?
Nur aus Neugier, haben Sie auch prüfen, um die Tests zu JMockit Umwandlung? Die Syntax ist viel näher an jMock: 'new Expectations() {{dateUtilityService.isBeforeToday (URGENT_DATE); Ergebnis = wahr; }}; '. –