Für Java-Funktionen können Sie automatisierte Integrationstests mit JUnit, Mockito und Cloud Functions Framework durchführen. Die Schritte sind wie folgt: Abhängigkeiten installieren: Junit, Mockito-Core, Google-Cloud-Functions-Framework-Testing. Erben Sie FunctionsFrameworkExtensionRule, verspotten Sie die Anforderungs- und Antwortobjekte, rufen Sie die Funktion auf und bestätigen Sie die Antwort. Führen Sie den Test aus: Führen Sie den MVN-Testbefehl aus. So führen Sie automatisierte Integrationstests für Java-Funktionen durch. Einführung Automatisierte Integrationstests dienen dazu, zu überprüfen, ob Komponenten nach der Integration ordnungsgemäß funktionieren. Entscheidende Vorgehensweisen, auch für Java-Funktionen. In diesem Artikel erfahren Sie, wie Sie Integrationstests von Java-Funktionen mithilfe von JUnit, Mockito und Cloud Functions Framework automatisieren.
Abhängigkeiten installieren
Fügen Sie die folgenden Abhängigkeiten in Ihrem Projekt hinzu:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>4.6.1</version> <scope>test</scope> </dependency> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-functions-framework-testing</artifactId> <version>3.4.1</version> <scope>test</scope> </dependency>
Testfälle schreiben
Testklasse erstellen, geerbt von FunctionsFrameworkExtensionRule:import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.when; import com.google.cloud.functions.HttpRequest; import com.google.cloud.functions.HttpResponse; import java.io.BufferedWriter; import java.io.IOException; import java.io.PrintWriter; import java.io.StringReader; import java.nio.charset.StandardCharsets; import java.util.Map; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TestRule; import org.mockito.Mock; import org.mockito.MockitoAnnotations; public class ExampleFunctionTest { @Rule public TestRule FUNCTIONS_FRAMEWORK_TEST_RULE = new FunctionsFrameworkExtensionRule(); @Mock private HttpRequest request; @Mock private HttpResponse response; private BufferedWriter writerOut; private PrintWriter printWriter; @Before public void beforeEach() { MockitoAnnotations.initMocks(this); writerOut = new BufferedWriter(new PrintWriter(response.getWriter())); printWriter = new PrintWriter(writerOut, true); } @Test public void helloHttp_shouldPrintAName() throws IOException { // Mock request when(request.getReader()).thenReturn(new StringReader("{}")); // Invoke function under test new ExampleFunction().service(request, response); // Assert that the function writes "Hello World!" to the response writerOut.flush(); assertThat(printWriter.toString()).isEqualTo("Hello World!"); } }
Praktischer Fall
Testen Sie im oben genannten Fall haben wir die FunktionExampleFunction
getestet, die eine Nachricht ausgegeben hat. Der Test simuliert das Anforderungsobjekt und das Antwortobjekt, ruft die Funktion auf und stellt sicher, dass die erwartete Nachricht in der Antwort vorhanden ist.
Tests ausführen
Um Tests auszuführen, führen Sie den Befehlmvn test
aus.
Fazit
Durch die Verwendung von JUnit, Mockito und Cloud Functions Framework können Sie ganz einfach automatisierte Integrationstests von Java-Funktionen durchführen. Dadurch wird sichergestellt, dass Ihre Funktion auch nach der Integration mit anderen Komponenten weiterhin ordnungsgemäß funktioniert.Das obige ist der detaillierte Inhalt vonWie automatisiere ich Integrationstests von Java-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!