Mockito
http://site.mockito.org https://javadoc.io/doc/org.mockito/mockitocore/latest/org/mockito/Mockito.html
Beispiel
Original
Stub
Mock - Version 1) Ohne Assertions
Mock - Version 2) Mit Assertions
Erzeugung
Erzeugen eines Mocks
mock(Class<T> clazz)
@Mock

Verhalten
Spezifikation des Verhaltens
when(T methodCall)
Welche Methode soll gemockt werden?
thenReturn(T value)
Was soll vom Mock returned werden?
thenThrow(Throwable t)
Welche Exception soll der Mock werfen?

Überprüfung der Argumente und Aufrufe
Überprüfung des Argumentes inwhen()
https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#argument_matchers
mit “Argument Matcher”
any(…)
anyInt(…)
argThat(somestring -> somestring.length() > 10)

Überprüfung der Aufrufe
https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#4
Überprüft wie oft Funktion aufgerufen wurde
verify(…)
never() / times() / atLeastOnce() …

