测试:服务集成契约测试

背景

你已经使用了微服务架构 。应用中存在很多服务。服务经常调用其他服务。你需要写自动化测试验证服务行为正常。

问题

如何简单的测试出,一个服务提供了客户端期待的API?

限制

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

解决方案

由消费服务的开发人员来编写该服务的测试用例。测试用例验证服务满足了消费方的期待。

示例

Spring Cloud Contract 是支持这种测试风格的开源项目。

结果

这个模式有如下优势:

  • 隔离测试服务,更简单,快速,可靠和廉价

这个模式有如下弊端:

  • 测试可能通过,但是应用在生产环境失败

这个模式有如下问题:

  • 如何确保服务消费者提供的测试符合消费者的确切需要?

相关模式:

参见

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容