@SpringBootTest어노테이션 역할
204
작성한 질문수 24
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
@SpringBootTest역할이 정확히 무엇인지 알고싶습니다. 이 어노테이션을 붙이면 스프링 컨테이너에 등록된 빈을 사용할 수 있는것으로 알고있는데, 이걸 안붙이면 스프링컨테이너에 등록된 빈을 사용할 수 없나요?
답변 1
0
안녕하세요. blackjack_96님, 공식 서포터즈 y2gcoder입니다.
@SpringBootTest는 실제 애플리케이션을 실행한 후의 환경처럼 스프링 컨테이너를 띄워서 테스트할 때 사용할 수 있습니다. 말씀하신 것처럼 스프링 컨테이너를 띄웠기 때문에 스프링 빈을 통한 기능을 모두 사용할 수 있습니다(의존 관계 주입 포함)! 왜냐하면 내부 구조상 해당 애노테이션을 붙인 테스트 코드를 실행하면 컨테이너 생성시 메인 패키지에서 @SpringBootApplication 가 붙은 클래스를 찾아 해당 설정에 맞춰 빈들을 생성하고 설정을 주입하기 때문입니다 🙂
만약 @SpringBootTest를 붙이지 않은 테스트 코드를 만드신다면, 위의 기능들을 이용할 수 없기 때문에 필요하다면 의존관계 주입 등을 직접해서 테스트할 객체 인스턴스를 생성해야 합니다.
전자는 애플리케이션 구동 시의 기준으로 각 컴포넌트들 간의 상호작용을 테스트하는 데 좋고, 후자는 테스트 대상 컴포넌트의 기능을 독립적으로 테스트하는데 좋습니다!
위에서 설명한 테스트 방법을 각각 통합 테스트 / 단위 테스트라고 하니 찾아보시는 것을 추천합니다!
@SpringBootTest 에 대한 더 자세한 내용은 다음 링크(클릭)을 참고해보시길 권해드립니다!
감사합니다.
보안이 엄격한 데이터
0
73
1
MyProperties 자체를 클라이언트 코드에서 사용
1
43
1
http://localhost:8080/actuator/prometheus
0
85
3
jar 추가에대한 질문드려도될까요?
0
64
1
build.gradle bom link 변경
0
65
2
@Counted 초기화
0
47
1
@Validated를 적용해도 빈 검증이 안되는 경우에 대한 조치 공유..
0
101
2
springboot에서 actuator없이 micrometer를 사용할수 있나요?
0
67
1
@Configuration 질문드립니다.
0
84
2
[공유] 터미널 말고 IDE 에서 jar 실행하기
0
101
1
localhost:8080/hello-servlet 404오류
0
123
2
내장톰캣2 서블릿 톰켓 실행이 안됩니다
1
154
2
최대 Tomcat 스레드 수를 확인하는 지표
0
160
1
mac m2에서 startup.sh 실행후 아무 반응이 없습니다.
0
94
2
내장 톰캣 실행 오류 관련 질문드립니다.
0
158
1
스프링 발전 과정들도 자세히 알아둬야하나요??
1
127
1
스프링부트 ioc 컨테이너 갯수
0
89
1
404 페이지
0
133
3
actuator 호출시 타임스탬프 질문
0
90
1
순수 라이브러리 사용하기 2 - memory-v1
0
125
1
외부설정 @ConfigurationProperties의 내부 클래스에서 static을 사용하는 이유를 알고 싶습니다.
0
105
1
서블릿 컨테이너 초기화1 강의 관련 질문입니다~
0
93
1
Thread Config Max 패널 설정 변경 질문
0
128
1
스프링 액츄에이터 shutdown 엔드포인트 활성화가 안됩니다.
0
107
1





