【发布时间】:2020-12-30 04:22:05
【问题描述】:
让我介绍一些背景。我们正在尝试在一组写入 kafka、移动文件并与其他服务通信以进行文件移动的 Spring Boot 服务之间进行 e2e 测试。我认为我们在使用模拟和诸如此类的集成测试方面做得很好,但是有没有办法利用空手道或任何其他测试框架来帮助实现少数主要场景的完全 e2e?就像我可以对一个服务进行测试,该服务获取实际数据并发送到下一个服务而不进行模拟?
我希望这是有道理的。谢谢。
【问题讨论】:
-
空手道绝对可以做到这一点。我们倾向于使用 Wiremock 独立实例来为任何下游服务存根,并记录 SUT 发送的请求。我们编写空手道测试,以便它们命中 SUT,然后通过调用它的 __admin/requests 端点来验证 SUT 是否对下游“服务”(Wiremock)进行了预期的调用,以查看它发送了什么。这比在所有东西都运行的情况下进行测试更便宜,并且可以更清楚地了解 SUT 是否遵守接口合同。像 docker-compose 这样的工具也可以以低廉的成本进行测试。
标签: spring-boot e2e-testing karate