Spring Web Service 集成测试与 @WebServiceServerTest
1. 引言
在本文中,我们将看到如何为使用 Spring Boot 构建的 SOAP Web 服务编写集成测试。
我们已经知道如何为应用程序类编写单元测试,并且我们已经在我们的 Spring Boot 测试教程中涵盖了一般的测试概念。因此,这里我们将专注于仅使用 @WebServiceServerTest 进行 Web 服务层的集成测试。
在本文中,我们将看到如何为使用 Spring Boot 构建的 SOAP Web 服务编写集成测试。
我们已经知道如何为应用程序类编写单元测试,并且我们已经在我们的 Spring Boot 测试教程中涵盖了一般的测试概念。因此,这里我们将专注于仅使用 @WebServiceServerTest 进行 Web 服务层的集成测试。
我们可能希望在Spring集成测试中覆盖应用程序的某些Bean。通常,这可以通过为测试特别定义的Spring Bean来完成。然而,如果在Spring上下文中提供了具有相同名称的多个Bean,我们可能会遇到_BeanDefinitionOverrideException_。
本教程将展示如何在Spring Boot应用程序中模拟或存根集成测试Bean,同时避免_BeanDefinitionOverrideException_。
在深入细节之前,我们应该对如何在测试中使用Mock或Stub充满信心。这是一种强大的技术,可以确保我们的应用程序不易受到错误的影响。
无论你是刚开始还是拥有多年经验,Spring Boot 都是构建新应用程序的绝佳选择,使用起来非常轻松。
Jmix增强了Spring Boot开发者的能力,允许他们构建和交付全栈Web 应用程序,而无需涉足前端技术。它使你能够从简单的Web GUI CRUD应用程序到复杂的企业解决方案,消除了前端/后端分离及其相关的安全问题。
Jmix平台包括一个构建在Spring Boot, JPA, 和 Vaadin之上的框架,并附带Jmix Studio,这是一个IntelliJ IDEA插件,配备了一套开发者生产力工具。该平台还提供了现成的插件,用于报告生成、BPM、地图等,你可以在Jmix应用程序中使用它们或作为单独的服务。所有技术都是相互连接的,使单个Java开发者能够以整个团队的水平进行工作,入门所需的知识最少。
如果你正在处理Spring Security(特别是OAuth)实现,一定要看看《学习Spring安全》课程。
>> 学习Spring 安全
集成测试在验证应用程序是否正常工作时至关重要。我们还应该正确地测试认证,因为它是一个敏感部分。Testcontainers允许我们在测试阶段启动Docker容器,以针对实际的技术栈运行我们的测试。
在本文中,我们将看到如何使用Testcontainers设置针对实际Keycloak实例的集成测试。
Apache Cassandra 是一个开源的分布式 NoSQL 数据库。它被设计用来处理大量数据,具有快速的读写性能,并且没有单点故障。
在本教程中,我们将探讨测试一个使用 Cassandra 数据库的 Spring Boot 应用程序。我们将解释如何使用 Testcontainers 库中的 Cassandra 容器设置集成测试。此外,我们将利用 Spring Data 仓库抽象来处理 Cassandra 的数据层。