반응형
반응형
1. 개요
JUnit 을 사용하는 테스트 클래스에는 RunWith, ContextConfiguration 어노테이션이 붙는다. 책에서 RunWith는 스프링와 JUnit 간 인터페이스 역할을, ContextConfiguration은 스프링 컨텍스트 설정파일을 읽는 역할을 한다고 하나 크게 와닿지 않았다.
이런 마음을 갖고 공부를 하던 중 저 의미를 이해하게 되어 글을 남긴다.
2. @RunWith
RunWith(SpringJUnit4ClassRunner.class)는 말 그대로 SpringJUnit4ClassRunner.class를 실행한다는 것이고, 이 클래스는 내부적으로 스프링 컨테이너를 생성해준다.
3. @ContextConfiguration
생성된 스프링 컨테이너에 스프링 빈을 추가하기 위해서는 application-context.xml 파일과 같은 설정 파일을 읽어야 하는데, 이런 설정파일을 로드하는 어노테이션이 ContextConfiguration이다.
만약 스프링 컨테이너가 필요 없다면, 즉, 스프링 빈 팩토리에서 빈을 로드하는 것이 아닌, 직접 new로 객체를 생성해가며 테스트 코드를 작성할 것이라면 위의 어노테이션을 제거해도 된다.
4. 결론
JUnit 테스트에 스프링 컨테이너를 사용할거면 위의 어노테이션을 넣어주자.
반응형
'백엔드 > Spring' 카테고리의 다른 글
[Spring] ContextLoaderListener 란? RootApplicationContext과 WebApplicationContext란? (1) | 2021.03.29 |
---|---|
@RestController, @Controller 어노테이션의 차이 (2) | 2021.01.22 |
[Spring] web.xml 이란? / 예제 (3) | 2020.12.21 |
[Spring] log4j2 사용법, 로그남기기, 파일 저장 (0) | 2019.12.03 |
[Spring] logging의 개념, Log4j 설치 및 설정, 예제 (0) | 2019.08.07 |