Pour les fonctions Java, vous pouvez effectuer des tests d'intégration automatisés à l'aide de JUnit, Mockito et Cloud Functions Framework. Les étapes sont les suivantes : Installer les dépendances : junit, mockito-core, google-cloud-functions-framework-testing. Hériter de FunctionsFrameworkExtensionRule, simuler les objets de requête et de réponse, appeler la fonction et affirmer la réponse Exécuter le test : Exécuter la commande mvn test
Comment effectuer des tests d'intégration automatisés sur les fonctions Java
Introduction
. Les tests d'intégration automatisés visent à vérifier que les composants fonctionnent correctement après l'intégration. Pratiques cruciales, également pour les fonctions Java. Cet article vous expliquera comment automatiser les tests d'intégration des fonctions Java à l'aide de JUnit, Mockito et Cloud Functions Framework.
Installer les dépendances
Ajoutez les dépendances suivantes dans votre projet :
<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>
Écrire des cas de test
Créer une classe de test, héritée de 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!"); } }
Cas pratique
T est dans ce qui précède Dans le cas , nous avons testé la fonction ExampleFunction
, qui affichait un message. Le test simule l'objet requête et l'objet réponse, appelle la fonction et affirme que le message attendu est présent dans la réponse. ExampleFunction
函数,该函数打印了一条消息。测试通过模拟请求对象和响应对象,调用函数并断言响应中存在预期的消息。
运行测试
要运行测试,请运行 mvn test
Exécuter des tests
Pour exécuter des tests, exécutez la commandemvn test
. 🎜Conclusion🎜🎜🎜En utilisant JUnit, Mockito et Cloud Functions Framework, vous pouvez facilement effectuer des tests d'intégration automatisés des fonctions Java. Cela permet de garantir que votre fonction fonctionne toujours correctement après avoir été intégrée à d'autres composants. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!