[JAVA] JUnit Memorandum

Ich werde ein Memorandum von JUnit schreiben.

Assert

import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.fail;

// actual =Im Falle der Erwartung normal
assertThat(actual, is(expect));
// actual !=Im Falle der Erwartung normal
assertThat(actual, is(not(expect)));
//Error
fail("error reason");

Mockito

Erstellen eines Scheinobjekts
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;

//Beim Verspotten des gesamten Objekts
Target targetMock = mock(Target.class);
//Beim Verspotten nur die Mock-Set-Methode
Target targetMock = spy(Target.class);
void method mock
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doThrow;

//Normal beenden
doNothing().when(targetMock).targetMethod(anyString(), any(Parameter.class));

//Auslösen einer Ausnahme * Sie können eine Ausnahme oder RuntimeException angeben, die von der Zielmethode ausgelöst wird
doThrow(new RuntimeException()).when(targetMock).targetMethod("01");

Im obigen Fall wird eine Ausnahme ausgelöst, wenn die Methode targetMethod mit dem Argument "01" aufgerufen wird. Geben Sie anyString () für String, any (Klassenname) für Objekt usw. an, um den Mock zu betreiben, wenn ein beliebiges Argument übergeben wird.

Verspotten einer Methode mit einem Rückgabewert
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.when;

//Zum Rückgabewert"ok"Zurückgeben
when(targetMock.targetMethod(anyString())).thenReturn("ok");

//Für die erste und dritte Ausführung"ok"Für den zweiten Lauf"ng"Zurückgeben
when(targetMock.targetMethod(anyString())).thenReturn("ok", "ng", "ok");

//Auslösen einer Ausnahme * Sie können eine Ausnahme oder RuntimeException angeben, die von der Zielmethode ausgelöst wird
when(targetMock.targetMethod(anyString())).thenThrow(new RuntimeException());
Scheinmethode behaupten
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

//Überprüfen Sie die Anzahl der Methodenausführungen
//Stellen Sie sicher, dass die targetMethod-Methode nur einmal ausgeführt wurde
verify(targetMock, times(1)).targetMethod(anyString(), anyString());
Anmerkungen zu Mockito

-Mock-Injection von @InjectMocks wird für die direkte Eigenschaft der von @InjectMocks angegebenen Klasse beschrieben. Mit anderen Worten, es wird kein Mock für @Inject in das @ Inject-Objekt eingefügt. Wenn Sie dies tun möchten, müssen Sie Reflection verwenden, um den Mock direkt in die Variable zu verschieben.

Recommended Posts

JUnit Memorandum
Memorandum
junit
Memorandum
JUnit 4 Notizen
Mein Batis-Memorandum
JUnit Geschichte
Rails Memorandum
Jaba Jaba Denken Sie daran
JavaFx-Memorandum
JAVA Memorandum
Gradle Memorandum
Docker Memorandum
Thymeleaf Memorandum
[Persönlich] JUnit5-Memorandum-Memo (in Arbeit)
Technisches Memorandum (Docker)
Lass uns JUnit machen.
Protokoll-Level-Memorandum
Memorandum Docker-Befehl
Apache FreeMarker Memorandum
Java Memorandum (Liste)
Rails Tutorial Memorandum 1
Rails Tutorial Memorandum 2
Docker-Befehlsmemorandum
Refactoring in JUnit
Java-Studienmemorandum
Spring Boot Denken Sie daran
Verwendungshinweise zu JUnit5
[Java] Optionales Memorandum
Memorandum (Spring Web)