【发布时间】:2020-01-05 11:32:54
【问题描述】:
我的项目基于事件驱动的微服务架构。我们正在尝试对 Cucumber 进行端到端测试,以便测试中的功能以业务可读格式提供。
详情如下。 服务架构:
涉及 4 个微服务。我们向服务 A 发送请求,请求被处理并存储在 DB 中,服务 A 发布事件,服务 B 消费该事件,服务 B 再次处理事件并将结果存储在 DB 中并发布要消费的事件由服务 C 和类似的服务 D。
用户(向服务 A 发布请求)服务 A ->(处理,存储在数据库中并将事件发布到服务 B)-> 服务 b(从 A 消费事件,处理并将结果存储在数据库中,将事件发布到 C )...
测试策略: 作为端到端测试的一部分,我们会将 post 请求发送到服务 A。服务 A 将仅返回响应 200,没有响应正文。
我们需要对每个服务数据库中的数据进行验证,并断言它符合预期。
类似功能文件的东西
鉴于 系统处于预期状态。 什么时候 向服务 A 发送请求 和 服务返回 200 响应 和 验证服务 A 数据库中是否存在已处理的数据 和 验证服务 B 数据库中是否存在已处理的数据 和 验证服务 C 数据库中是否存在已处理的数据
**我想明白, 1.进行这种测试的正确方法应该是什么。
- 这是在 DB 中进行端到端测试和验证的正确方法还是应该使用其他方法。**
【问题讨论】:
标签: spring-boot cucumber microservices bdd spring-test