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