我目前正在开发一系列需要与 Kinesis 集成的 Web 服务。虽然集成实现已经完成,但我们有一系列集成测试(我们的 Web 服务都使用 Spring Boot,因此在测试类上使用 @WebIntegrationTest
注解启动服务器的本地实例,然后使用 TestRestTemplate
调用资源),但目前尝试连接到真正的 Kinesis 失败了。
虽然在普通的单元测试中,mock Kinesis 库内部方法的调用不是问题,但由于整个应用程序栈都与 Spring 关联,我们无法在集成测试中做到这一点。对于一些其他事情(如 OAuth2 和我们的其他 Web 服务的调用),我们已经可以使用 WireMock 模拟实际端点 - 我真正想做的是使用 WireMock 来模拟调用 AmazonKinesisClient
,但是我找不到有关如何做到这一点的建议。
或者,我看到有些 AWS 组件由第三方编写了测试库,可以让您运行本地版本(例如:DynamoDbLocal),但是找不到类似 Kinesis 的解决方案。
是否有人能够给我一些关于如何运行与 Kinesis 的集成测试的建议?