运行测试时,不在提供程序中的EnvironmentVariableCredentialsProvider提供程序

时间:2018-06-21 18:47:39

标签: amazon-web-services amazon-dynamodb spring-integration-aws

我有一个利用AWS Kinesis和DynamoDB的spring boot应用程序。 运行应用程序时,我可以看到EnvironmentVariableCredentialsProvider提供了AWSCredentialsProviderChain,以从环境变量读取 AWS_ACCESS_KEY_ID AWS_ACCESS_KEY

但是,当我运行集成测试时, EnvironmentVariableCredentialsProvider 不在AWSCredentialsProvider中。这是我的基本测试类配置:

@ActiveProfiles("integration")
@SpringBootTest
class BaseTest {

}

@SpringBootTest将把@SpringBootApplication作为主要配置类,我认为两者应该具有相同的配置上下文。

感谢您的帮助。

谢谢

1 个答案:

答案 0 :(得分:0)

好吧,在我的测试中,我正在使用spring-cloud-stream-binder-kinesis产生事件。 当我将其删除并替换为Spring Integration Producer时,问题解决了。

将弹簧云绑定器用于运动学和弹簧集成在一起非常棘手,对我来说几乎没有问题。在您的应用程序中同时使用它们时要小心。