자바/스프링(Spring)
스프링(Spring) 테스트 환경에서 @PostConstruct 비활성화
류창
2022. 10. 12. 18:08
반응형
문제 발생:
새로운 옥션 서비스를 개발했으니, 테스트코드를 한번 짜보려는 상황 입니다.
테스트 요약:
1.옥션 하나를 제목을 지정한 뒤 생성
2. 옥션 꺼내기
3. 꺼낸 옥션과 1번에서 생성한 옥션의 제목이 동일한지 비교
?!!!!?!!!!!
아니.. 왜안됨?
알고보니 문제가 테스트 부분이아닌, 메인(local환경) 부분 에서 더미데이터로 생성한
@PostConstruct 때문이였다.
해결방법: @Profile을 사용하여 메인, 테스트 환경을 분리하자.
즉, 내가 쓸 @PostConstruct는 메인환경에서만 사용할것이니,
메인 은 메인환경으로 테스트는 테스트로 설정하는것이다.
1.테스트 환경에서 쓸 application.properties 를 복사 붙이기하자.
2. 그 후, 로컬 환경 프로퍼티와, 테스트 환경 프로퍼티를 분리하자.
3. @PostConstruct를 사용한 클래스에다가 로컬환경에서만 쓴다고 설정한다.
@Profile("prod") 를 통하여,
메인 환경 (로컬환경) 에서만 사용한다고 선언한다.
해결완료!
반응형