1. 소개
이 빠른 기사에서는 JUnit 5 프레임 워크에서 @RunWith 어노테이션 의 사용법을 다룰 것 입니다.
JUnit을 5 년 @RunWith의 어노테이션은 더 강력한로 대체되었습니다 @ExtendWith의 어노테이션 .
그러나 @RunWith 어노테이션은 이전 버전과의 호환성을 위해 JUnit5에서 계속 사용할 수 있습니다.
2. JUnit4 기반 러너로 테스트 실행하기
@RunWith 어노테이션을 사용하여 다른 이전 JUnit 환경에서 JUnit5 테스트를 실행할 수 있습니다 .
JUnit4 만 지원하는 Eclipse 버전에서 이러한 테스트를 실행하는 예를 살펴 보겠습니다.
먼저 테스트 할 클래스를 만들어 보겠습니다.
public class Greetings {
public static String sayHello() {
return "Hello";
}
}
다음으로이 일반 JUnit5 테스트를 작성해 보겠습니다.
public class GreetingsTest {
@Test
void whenCallingSayHello_thenReturnHello() {
assertTrue("Hello".equals(Greetings.sayHello()));
}
}
마지막으로 테스트를 실행할 수 있도록이 어노테이션을 추가해 보겠습니다.
@RunWith(JUnitPlatform.class)
public class GreetingsTest {
// ...
}
JUnitPlatform의 클래스는 우리가 JUnit을 플랫폼에서 JUnit4 테스트를 실행하자 JUnit4 기반 주자이다.
의는하자 이 주자가 제한된 기능을 가지고 있으므로 JUnit4가 새로운 JUnit을 플랫폼의 모든 기능을 지원하지 않는다는 것을 명심하십시오.
Eclipse에서 테스트 결과를 확인하면 JUnit4 실행기가 사용되었음을 알 수 있습니다.
3. JUnit5 환경에서 테스트 실행
이제 JUnit5를 지원하는 Eclipse 버전에서 동일한 테스트를 실행 해 보겠습니다. 이 경우 @RunWith 어노테이션이 더 이상 필요하지 않으며 실행기없이 테스트를 작성할 수 있습니다.
public class GreetingsTest {
@Test
void whenCallingSayHello_thenReturnHello() {
assertTrue("Hello".equals(Greetings.sayHello()));
}
}
테스트 결과는 현재 JUnit5 실행기를 사용하고 있음을 보여줍니다.
4. JUnit4 기반 러너에서 마이그레이션
이제 JUnit4 기반 실행기를 사용하는 테스트를 JUnit5로 마이그레이션 해 보겠습니다.
예제로 Spring 테스트를 사용할 것입니다.
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { SpringTestConfiguration.class })
public class GreetingsSpringTest {
// ...
}
이 테스트를 JUnit5로 마이그레이션하려면 @RunWith 어노테이션을 새 @ExtendWith로 바꿔야합니다 .
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = { SpringTestConfiguration.class })
public class GreetingsSpringTest {
// ...
}
SpringExtension의 클래스는 JUnit을 5로 Spring (5)와 통합하는 스프링 TestContext 프레임 워크에서 제공 @ExtendWith의 어노테이션 모든 클래스가 구현하는 받아들이 확장 인터페이스를.
5. 결론
이 간단한 기사에서는 JUnit5 프레임 워크에서 JUnit 4의 @RunWith 어노테이션을 사용하는 방법에 대해 설명했습니다.
- https://docs.spring.io/spring-framework/docs/current/reference/html
- https://www.baeldung.com/junit-5-runwith
'Java' 카테고리의 다른 글
Spring @RequestParam 대 @PathVariable 어노테이션 (0) | 2021.04.17 |
---|---|
Spring Boot로 Hikari 연결 풀 구성 (0) | 2021.04.16 |
Java에서 숫자를 N 소수 자릿수로 반올림하는 방법 (0) | 2021.04.16 |
Java의 List에서 모든 중복 제거 (0) | 2021.04.16 |
Java Generics – <?> 대 <? 개체 확장> (0) | 2021.04.16 |