我目前正在开发一系列需要与 Kinesis 集成的 Web 服务 - 实现已经完成,但是我们有一系列集成测试(我们的 Web 服务都使用 Spring Boot,所以我们使用@WebIntegrationTest
注释我们的测试类启动服务器的本地实例,然后使用TestRestTemplate
) 调用我们的资源,这些资源当前正在尝试连接到真正的 Kinesis,但未能成功。
虽然在普通的单元测试中模拟对 Kinesis 库中方法的调用不是问题,但我们不能在集成测试中真正做到这一点,因为整个应用程序堆栈都与 Spring 连接在一起。对于其他一些事情(例如 OAuth2 和对我们其他 Web 服务的调用),我们已经能够使用 WireMock 来模拟实际的端点——我真正想做的是以这种方式使用 WireMock 来模拟致电,AmazonKinesisClient
但我找不到有关如何执行此操作的任何建议。
或者,我看到一些 AWS 组件具有由第三方编写的测试库,允许您运行它的本地版本(例如:DynamoDbLocal),但无法为 Kinesis 找到这样的解决方案。
有人能给我一些关于如何使用 Kinesis 运行集成测试的建议吗?