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 | 31 |
Tags
- springboot
- 클라이언트
- 사용자관리프로그램
- Oracle
- 컬렉션프레임워크
- 깃허브
- SwingCalendar
- 백준
- jcenter
- 인스턴스
- 멀티쓰레드
- HTML모드
- Spring
- socket
- 바인드변수
- 템플릿엔진
- 생성자
- JavaScript
- 코딩
- Swing
- 서버
- 클래스
- JPA Auditing
- mavenCentral
- 상속
- 카카오코딩테스트
- java
- springDataJPA
- 자바
- 메소드
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