본문 바로가기
Spring/JUnit & Test

[JUnit5] RunWith

by 행운의나무 2021. 2. 28.
728x90
반응형

스프링 프로젝트 테스트를 진행하다보면 RunWith(SpringRunner.class)를 테스트 클래스에 설정해주는 모습을 볼 수 있습니다.

하지만, 현재 JUnit5를 사용하고 있다면 RunWith를 할 수 없을 것입니다. 그 이유에 대해 궁금해서 찾아본걸 정리해봤습니다.

RunWith란?

JUnit 프레임워크의 테스트 실행방법을 확장할 때 사용하는 어노테이션
즉, ApplicationContext를 만들고 관리하는 작업을 @RunWith(SpringRunner.class)에 설정된 class로 이용하겠다는 뜻입니다.

JUnit5에서 RunWith를 사용 할 수 없는 이유

JUnit5로 넘어오면서 @RunWith는 @ExtendWith로 변환하게 되었습니다.
@RunWith(SpringRunner.class) => @ExtendWith(SpringExtension.class)

만약 @SpringBootTest를 설정하셨다면, cmd(control) + @SpringBootTest클릭으로 다음과 같이 이미 SpringBootTest에 적용이 되어 있기 때문에 @SpringBootTest를 이용한다면 생략할 수 있음을 알  수 있습니다.

 

반응형

'Spring > JUnit & Test' 카테고리의 다른 글

[Mock과 Mocktio] @Mock @MockBean  (0) 2022.12.15
[Test] DataJpaTest에서 MySQL 설정  (0) 2022.12.02
[Mock과 Mocktio] @InjectMocks  (0) 2021.04.11
[Mock과 Mocktio] @Spy @SpyBean  (0) 2021.04.11
[JUnit4 vs JUnit5] @Test(expected=...)  (0) 2021.04.02