Ich brauche nurMockito wann und überprüfen Methode Unterschied
1) wissen, wann ich when()
in Mockito nennen, ist es tatsächlich das mockedObject Methode Verhalten ausführt oder nicht?
2) was, wenn wenn ich einen falschen Wert in when().thenReturn()
wie unten zurückgebe. Testfall ist "falsch" oder wird 50 statt 30 zurückgegeben?
when(mockedObject.add(10,20)).thenReturn(50);
3) Warum soll ich brauche thenReturn()
zwingend zu verwenden, auch wenn die nachgeahmten Objektmethode ungültig ist? (Es gibt Fehler, wenn ich nicht thenReturn()
benutzt haben.
fügt eine Funktionalität auf ein Mock-Objekt die verwenden, wenn() Methode.
@Test
public void testAdd(){
when(mockedObject.add(20.0,30.0)).thenReturn(50.00);
}
4) Wenn ich rufe
verify(mockedObject,times(1)).add(20.0, 30.0);
Es prüft, dass die Methoden auf mocked Objekt oder nicht mit dem gleichen Parameter aufgerufen werden und den Aufruf der Methode als nur 1 Mal überprüfen, nicht wahr? So kann ich verwenden, wenn() eine Funktionalität hinzuzufügen auf die Objektmethode verspottet ohne verify() oder es erfordert tatsächlich aufzurufen verify() nach dem Aufruf, wenn() -Methode
1) Sie sagten Nein für 1 Frage, ich fiel es ist JA. when() wird nur das Verhalten der MockedObject-Methode ausführen. Wenn Sie @spy verwenden, wird nur die tatsächliche Methode des realen Objekts aufgerufen, denke ich. check this https://www.tutorialspoint.com/mockito/mockito_spying.htm –
Wenn Sie nicht when.thenRetrun für ein verspottetes Objekt verwenden, dann wird die Implementierung nicht aufgerufen, Sie erhalten den Standard-Rückgabewert. Wenn Sie doReturn.when.then auf einem Spied-Objekt nicht verwenden, wird eine echte Methode aufgerufen –