Spring - 통합 테스트에서 S3 Mock 객체로 S3 자원 아끼기
·
Spring
배경 파일 업로드를 위해 S3를 연결하고 테스트하는 과정에서 문제가 발생했다. S3에 테스트를 위해 생성한 파일들이 계속 저장되어 있던 것! 단위테스트는 Mock을 사용하기 때문에 문제가 없었지만 통합테스트에서는 모든 로직이 그대로 실행되서 저장되는 로직이 포함된 만큼 파일이 S3에 저장됐다. 프리티어를 사용하고 있었기 때문에 GET, POST를 요청을 보낼 수 있는 횟수 제한이 있었고 정신없이 테스트를 돌리다보니 GET 500회, POST 900회나 실행되고 있었다. 이 문제를 해결하기 위해 통합 테스트에서도 S3를 Mock으로 만들어 사용해야 했다. 구현 AwsS3Config 기존에 AmazonS3 Bean을 생성하기 위한 코드이다. 해당 Bean을 사용하지 않도록 Test용 Bean을 만들어서 사용..