땀두 블로그

[Spring] Test를 위한 @RunWith 어노테이션을 사용하지 않는 이유 본문

Web/Spring

[Spring] Test를 위한 @RunWith 어노테이션을 사용하지 않는 이유

땀두 2022. 4. 9. 18:00

스프링부트와 AWS로 혼자 구현하는 웹 서비스 책을 따라서 하면서 일부는 스스로 변경해서 사용하고 있다.

 

예를들면 build.gradle에서 gradle 버전이 변경되면서 compile 대신 implementation을 사용한다던가 하는 문제들이다.

 

이러한 비슷한 문제 중에서 @RunWith 어노테이션도 포함이 되어있다.

 

이 부분에 대해선 백기선님의 블로그를 참조해보면 좋을 듯 하다.

 

https://www.whiteship.me/springboot-no-more-runwith/
 

스프링 부트, @RunWith가 더이상 보이지 않는 이유

왜 최근 버전의 스프링 부트를 사용한 프로젝트의 테스트 코드에서 @RunWith를 더이상 볼 수 없는지 살펴보겠습니다.

www.whiteship.me

 

내용을 읽어보게 되면 JUnit도 4.x버전에서는 테스트 러너를 확장하는 방법으로 @RunWith 어노테이션을 사용하였지만 JUnit 5버전부터는 Extension이라는 방법을 통해 사용한다는 것이다.

 

@ExtendWith나 @RunWith와 같은 어노테이션들이 없는 코드를 주로 많이 사용하는데 이는 @SpringBootTest라는 어노테이션에서 이 코드들을 가지고 있기 때문에 이를 확인해보면 된다.

 

SpringBootTest의 일부분이다. 상단에 @ExtendWith가 있는 것을 확인할 수 있다.

 

쉽게 말해서 최근에 스프링부트는 JUnit 5를 사용하기 때문에 이전에 사용하던 어노테이션인 @RunWith를 사용하지 않고 @ExtendWith를 사용해야 하지만 이는 @SpringBootTest 어노테이션에서 포함하고 있기 때문에 생략이 가능한 것이다.

'Web > Spring' 카테고리의 다른 글

[Spring] SpringBoot : Bean 생성 오류  (0) 2022.04.11
[Spring] lombok이란  (0) 2022.04.09
[GIT] .gitignore 설정하기  (0) 2022.04.09
[Spring] SpringBoot build.gradle 설정 오류 해결  (0) 2022.04.09
[Spring] Spring Bean 순환 참조 오류  (0) 2022.04.06
Comments