Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- HTML모드
- 카카오코딩테스트
- JavaScript
- 템플릿엔진
- 깃허브
- springboot
- socket
- SwingCalendar
- Swing
- 사용자관리프로그램
- jcenter
- Oracle
- java
- 메소드
- 서버
- JPA Auditing
- 클라이언트
- 컬렉션프레임워크
- 자바
- 멀티쓰레드
- springDataJPA
- 상속
- 클래스
- mavenCentral
- Spring
- 생성자
- 코딩
- 인스턴스
- 바인드변수
- 백준
Archives
- Today
- Total
프리 정보 컨텐츠
@RunWith(SpringRunner.class) 이란?? 본문
단위테스트 코드를 작성하던중 Junit4에서 사용하는 @RunWith(SpringRunner.class)라는 어노테이션을 지속적으로 사용해주었는데 몇 가지 의문점이 생겨서 정리하고자 합니다.
의문점은 아래와 같습니다.
- @SpringBootTest가 아닌 @RunWith(SpringRunner.class)를 사용하는 이유??
- @RunWith와 더불어 @RunWith(SpringRunner.class) -> 정확히 무슨 역할을 하는지??
대답은 아래와 같습니다.
1. @SpringBootTest를 사용하면 application context를 전부 로딩해서 자칫 잘못하면 무거운 프로젝트로서의 역할을 할 수 있습니다.
하지만 Junit4에서 지원하는 @RunWith(SpringRunner.class)를 사용한다면, @Autowired, @MockBean에 해당되는 것들에만 application context를 로딩하게되므로 Junit4에서는 필요한 조건에 맞춰서 @RunWith(SpringRunner.class)를 사용합니다.
2. SpringRunner에 대한 별칭으로 SpringJUnit4ClassRunner, JUnit 테스트 라이브러리를 Spring TestContext Framework와 결합합니다. 결합한 이것을 @RunWith(SpringRunner.class)라고 일컫습니다.
Comments