반응형

build.gradle에 기본으로는 아래와 같이 되어있습니다.



tasks.named('test') {
    useJUnitPlatform()
}

 

test코드를 작성해 주기 위해서 아래와 같이 변경해 줍니다.

 



test {
    useJUnitPlatform()
}

 

JUnit4에서 RunWith는 스프링부트 테스트와 JUnit 사이에 연결자 역할을 합니다.

그러나 JUnit5에서는 RunWith를 사용할 수가 없었습니다.

어노테이션 추가 자체가 되지 않는데 알아보니,

JUnit5에서는 JUnit Platform, JUnit Jupiter, JUnit Vintage 3개의 모듈로 나눠져 있어서 RunWith를 사용하려면 다음과 같이 사용해야 한다고 합니다.

 



import org.junit.runner.RunWith; // JUnit 4
import org.springframework.test.context.junit4.SpringRunner; // JUnit 4
@RunWith(SpringRunner.class) // JUnit 4

import org.junit.jupiter.api.extension.ExtendWith; // JUnit 5
import org.springframework.test.context.junit.jupiter.SpringExtension; // JUnit 5
@ExtendWith(SpringExtension.class) // JUnit 5

 

참고사이트)

https://velog.io/@u-nij/JUnit5-%EB%8B%A8%EC%9C%84-%ED%85%8C%EC%8A%A4%ED%8A%B8Extendwith

 

[JUnit5] 단위 테스트(@Extendwith, Mockito)

단위 테스트에 대한 글입니다.

velog.io

 

@ExtendWith
단위 테스트에 공통적으로 사용할 확장 기능을 선언해주는 역할을 한다. 인자로 확장할 Extension을 명시하면 된다. SpringExtension.class 또는 MockitoExtension.class를 많이 사용한다. Spring Test Context 프레임워크와 Junit5와 통합해 사용할 때는 SpringExtension.class를 사용한다. JUniit5와 Mockito를 연동해 테스트를 진행할 경우에는 MockitoExtension.class를 사용한다. (스택오버플로우를 참고해보면 더 자세히 알 수 있다.)

반응형
복사했습니다!