在运行集成测试springboot时创建名称为'amazonSqsAsync'的bean时出错

时间:2020-02-04 17:54:10

标签: amazon-sqs spring-boot-test spring-cloud-aws

我正在尝试为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正确配置了该应用程序,可以使用消息并将消息发送到队列,但是我找不到有关如何在集成中对其进行测试的正确示例。

使用这些测试配置运行应用程序会不断抛出相同的错误

0 个答案:

没有答案