• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

@PostConstruct 테스트 중일때 제외

20.10.22 14:58 작성 조회수 420

0

@PostConstruct가 있는 빈을 테스트 중일때 제외 시키고 싶은데 어떻게 해야 할까요.

저 샘플 데이터 때문에 테스트가 이상하게 작동합니다 ㅠㅠ

-------------------------------------------------------------

고민하다가 @SpringBootApplication 어노테이션이 달린 클래스를 하나 더 만들어서 베이스 패키지를 다르게 설정해서

@PostConstruct가 있는 빈을 제외 시켰습니다 그리고 이 클래스(@SpringBootApplication 어노테이션이 달린 다른 클래스)를

Test 클래스에 @SpringBoot(classes = 클래스 이름.class)로 전부 설정 했습니다.

이 방법이 옳은 방법일까요?? 

답변 2

·

답변을 작성해보세요.

1

m s님의 프로필

m s

질문자

2020.10.22

감사합니다 찾아서 수정하였더니 원하는 결과를 얻을수 있었습니다!

0

안녕하세요. m s님

@PostConstruct는 스프링 빈의 기본 동작이기 때문에 제외할 수 없습니다.

대신에 스프링부트 프로파일 기능을 사용해서 해당 빈이 테스트인 경우에 빈으로 등록되지 않도록 설정하면 원하시는 기능을 깔끔하게 구현할 수 있습니다^^

spring boot profile로 검색해보시면 자료가 정말 많아서, 원하는 결과를 찾으실 수 있을거에요^^