[Spring] JUnit5 반복 테스트

JUnit5


Java8이상의 버전 필요

 

pom.xml 업데이트

1
2
3
4
5
6
7
8
9
10
11
12
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <version>5.3.1</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
    <version>5.0.1</version>
    <scope>test</scope>
</dependency>
cs


위의 <dependency>두개를 <dependencies>내에 추가 기존의 junit4에 해당하는건 지우지 않아도 된다.

 

JUnit5 어노테이션

어노테이션 설명
@ExtendWith(SpringExtension.class) JUnit4의 @Runwith과 같은 기능을 한다.
@ContextConfiguration는 그대로 사용하면 된다.
@RepeatedTest(n) 테스트를 반복할 수 있게 해준다.

 

사용 방법

//Junit4의 Runwith과 같은 기능을 하는 Junit5 어노테이션
@ExtendWith(SpringExtension.class)
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml")
public class JUnit5Test {
	@Autowired
	Prime prime;
	
    // 20번 반복실행
	@RepeatedTest(20)
	public void rock() {
		assertEquals(3, 1+2);
	}
}


1. bean을 사용하려면 JUnit4와 다르게 @Runwith가 아닌 @ExtendWith를 사용한다.
2. @ExtendWith를 사용했다면 @Autowired는 같은 방법으로 사용 할 수 있다.
3. 테스트할 메소드에 @....Test(어노테이션 이름 마지막에 Test가 붙은) 어노테이션을 사용했다면 @Test 어노테이션을 생략할 수 있다.

 

실행


이클립스 상단에 Run -> Run Configurations... 에서 Test runner: JUnit5로 바꾼뒤 실행이 가능하다.

나중에 다시 4로 변경하는것도 간단하게 가능하다.

 

실행에 성공하면 아래와 같이 반복 실행된 것을 볼 수 있다.

댓글

Designed by JB FACTORY