아카이브

[스프링 기반 REST API 개발] 테스트용 DB와 설정 분리하기 본문

Spring/스프링 기반 REST API 개발

[스프링 기반 REST API 개발] 테스트용 DB와 설정 분리하기

주멘이 2021. 1. 6. 23:09

애플리케이션 설정과 테스트 설정 중복 어떻게 줄일 것인가?

- @SpringBootTest 통합 테스트 시 모든 빈들을 등록하게 된다. 이때 Postgresql을 사용한다.

- @WebMvcTest와 같은 Mock Test의 경우는 기본적으로 H2 인메모리 DB를 사용하고, mock bean들을 등록한다.

- test/resources에 test용 application.properties를 생성하고 활용하면, properties 우선순위로 인해 main의 같은 파일을 overriding 해서 같은 설정이 아니라면 값이 상실되기에 중복 코드의 문제점이 존재한다.

Profile@ActiveProfiles  로 중복 문제를 해결

- 테스트 클래스에 @ActiveProfiles("test") 기입하여, main / test 용의 중복을 해결할 수 있다.