多语言环境下的 Spring Cloud Contract
本文简要回顾了契约测试的概念,Spring Cloud Contract 如何实现契约测试,以及如何在多语言环境中使用 Spring Cloud Contract。
什么是契约测试
为了提高系统正常运行的确定性,我们编写了不同类型的测试。根据 测试金字塔,主要的测试类型包括单元测试、集成测试和 UI 测试。测试越复杂,所需的时间和精力就越多,测试也越容易变得脆弱。
在分布式系统中,最常见的问题之一是在应用程序之间测试集成。假设您的服务向另一个应用程序发送 REST 请求。在使用 Spring Boot 时,您可以编写一个 @SpringBootTest
来测试此行为。您设置 Spring 上下文,准备要发送的请求……然后您将请求发送到哪里?您没有启动其他应用程序,因此您会收到 Connection Refused
错误……