쩨이엠 개발 블로그

[ Spring ] SpringBoot test 순서 / 이름 정하기 (@TestMethodOrder / @DisplayName) 본문

개발/Spring

[ Spring ] SpringBoot test 순서 / 이름 정하기 (@TestMethodOrder / @DisplayName)

쩨이엠 2020. 5. 20. 12:13
728x90
반응형

 

테스트 시 이 테스트가 어떤건지 설명이 필요할 때 그리고 순서를 정해서 돌리고 싶을 때 사용하는 어노테이션 두개가 있다

@TestMethodOrder

@DisplayName

 

 

 

 

@TestMethodOrder

필요한 dependency

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

 

DataServiceTests.java

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@RunWith(MockitoJUnitRunner.class)
@ExtendWith(MockitoExtension.class)
class DataServiceTests {

@InjectMocks
private DataService service;

@Mock
private DataMapper mapper;

.
.
.
.

}

 

@TestMethodOrder annotation class 위에 써준다

 

그리고 테스트 케이스 위에 Order 어노테이션을 붙여준다

 

DataServiceTests.java

@Order(1)
@Test
void test_InspectQcData(){

.
.
.


}

 

 

이러면 알파벳 순이 아닌 Order 숫자 순으로 테스트가 진행되는 것을 있다

MethodOrderer.OrderAnnotation.class 좀더 짧게 하고 싶다면 static import 통해 짧게 만드는것이 가능하다

 

import static org.junit.jupiter.api.MethodOrderer.*;

 

 

테스트 결과

 

 

 

@DisplayName

여기서 좀더 이쁘게 하고 싶다면

Test할 함수 위에 @DisplayName 어노테이션을 추가한다

@DisplayName(“QC 통합 테스트”)
@Order(1)
@Test
void test_InspectQcData(){

.
.
.

}

 

테스트결과

 

728x90
반응형
Comments