我正在尝试为aws-sqs-messaging设置集成测试,但是由于未能创建用于测试的amazonSQSAsync bean导致我的测试无法运行。
到目前为止,我已经在基类中创建了一个配置类,例如
@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = RANDOM_PORT, classes = TestSQSApplication.class)
@ActiveProfiles("TEST")
public abstract class IntTest {
@TestConfiguration
@EnableSqs
public static class AwsSqsConfiguration {
@Bean(destroyMethod = "shutdown")
@Primary
@Qualifier("amazonSQSAsync")
public AmazonSQSAsync amazonSqsAsync(AWSCredentialsProvider awsCredentialsProvider) {
return AmazonSQSAsyncClientBuilder.standard()
.withCredentials(awsCredentialsProvider)
.withRegion("us-east-1")
.build();
}
@Bean
public AWSCredentialsProvider awsCredentialsProvider() {
return new AWSStaticCredentialsProvider(new BasicAWSCredentials("accessKey", "secretKey"));
}
}
}
我以前的所有测试都可以正常进行,直到我添加SQS,然后它就为集成测试抛出了此错误
在类路径中定义名称为'amazonSqsAsync'的bean创建错误
为SQS正确配置了该应用程序,可以使用消息并将消息发送到队列,但是我找不到有关如何在集成中对其进行测试的正确示例。
使用这些测试配置运行应用程序会不断抛出相同的错误