响应式编程与应用测试
1. 何时采用响应式编程
响应式编程,特别是专注于响应式流的应用程序,能够实现系统级的扩展,这在当前很难通过其他方式实现。然而,并非所有应用程序都需要达到端到端可扩展性的极致,有些应用程序在可预测的负载下已经表现出色,或者预计会有良好的表现。
命令式应用程序长期以来一直满足着全球组织的生产需求,不会因为出现了新的选择就被完全取代。Spring团队明确表示,在可预见的未来,响应式代码不会完全取代所有命令式代码。
是否采用响应式编程和Spring WebFlux是一个需要谨慎考虑的选择。它可能是实现某些需求的最佳方式,但仍需根据系统的相关要求和需求来决定。无论是否采用响应式编程,Spring Boot都为开发关键业务软件提供了卓越的选择,以处理所有生产工作负载。
2. 响应式应用测试的准备
为了更好地聚焦于测试响应式Spring Boot应用程序的关键概念,需要对代码进行重构,以隔离和测试所需的行为。
2.1 重构RSocketRequester的创建
将创建 RSocketRequester
对象的代码移到一个 @Configuration
类中,使其成为一个Spring bean,可在应用程序的任何地方访问:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
im