@RunWith
@SpringBootTest
로 했을 때의 차이??
이상하게 - @Runwith(SpringBoot4TestRunner.class)로 돌리면 ApplicationContext가 찾아지는데
단순히 @SpringbootTest로 붙이면 못찾더라. 왜지?
테스트 쉽게하라고 만들어준 어노테이션이 아니었던 건가?!!
-----
확인결과
@Runwith(SpringBoot4TestRunner.class)로 돌리면, 단위테스트. 정말로 test에 필요한 최소한의 클래스만 올려줌. 만약에 @Component등.. bean으로 등록한 애들 가져오고 싶은거면
1. @ContextConfiguration으로 지정해서 - 테스트하고 싶은 클래스들만 가져온다
2.
@BootstrapWith(SpringBootTestContextBootstrapper.class)
이용해서 . 빈들 다 띄울수도 있다.
특히 저 둘 어노테이션들은 @SpringBootTest어노테이션안에 들어가 있음. 그래서 @SpringBootTest를 붙이면 모든 클래스를 올려주는 통합테스트가 된다.
스프링부트가 만들어주는 각종 AutoConfig하는 클래스들과 내가 만든 모든 빈들 전부 등록해준다. 안으로 들어가보면.. mvc (web일경우.) 부터시작해서 각종 autoconfigure클래스들이 들어오는 걸 확인할 수 있다.
3. @ExtendWith 어노테이션 : JUnit4 -> 5로 확장해줌.
댓글 없음:
댓글 쓰기