架构模式: 服务集成契约测试

架构模式: 服务集成契约测试

上下文

您已应用微服务架构模式。该应用程序包含许多服务。服务通常会调用其他服务。您必须编写自动化测试,以验证服务是否正常运行。

问题

如何轻松测试服务是否提供了客户期望的API?
 

要点

  • 端到端测试(即启动多个服务的测试)是困难,缓慢,脆弱和昂贵的。

结论

服务的测试套件,由使用它的另一个服务的开发人员编写。测试套件验证服务是否满足消费者服务的期望。

例子

Spring Cloud Contract是一个支持这种测试方式的开源项目。

结果上下文

这种模式具有以下好处:

  • 单独测试服务更容易,更快速,更可靠,更便宜

这种模式有以下缺点:

  • 测试可能会通过,但应用程序将在生产中失败

此模式存在以下问题:

  • 如何确保消费者提供的测试与消费者实际需要的测试相匹配?

 

posted on 2019-08-03 09:11  yaofengspark  阅读(285)  评论(1编辑  收藏  举报

导航