_DoYun
_yunilog
_DoYun
전체 방문자
오늘
어제
  • 전체 (83)
    • spring boot main 프로젝트 해결 (2)
    • 회고 (0)
      • pre-project(stackoverflow) (0)
    • 지식창고 (25)
    • 후기 (1)
    • LINUX (2)
    • HTML&CSS (2)
    • SQL (2)
    • 기술 면접 질문지 (1)
      • Chapter1 (1)
      • Chapter2 (0)
    • JAVA (25)
      • JAVA 기초 문법 (1)
      • Collection (1)
      • Enum,Annotation,Stream,람다 (3)
      • 입출력, Thread, JVM (1)
      • Spring Framework (3)
      • Spring MVC (6)
      • JPA (1)
      • Test (3)
      • API 문서 (1)
      • 인증&보안 (2)
      • AWS (2)
    • 알고리즘 (19)
      • 프로그래머스_LEVEL_3 (6)
      • 백준 (0)
      • 프로그래머스_LEVEL_2 (13)
    • Comento (2)
    • Inflearn (2)
      • HTTP (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
_DoYun

_yunilog

JAVA/Test

[Spring 자바] Junit 테스트 순서 지정하는 방법

2022. 7. 14. 15:07

우리가 일반적으로 Junit을 통해 테스트를 진행하고자 할 때, 각각의 메서드의 순서를 정해주고 싶을 때가 있을 것입니다.

그 떄 @TestInstance(Lifecycle.PER_CLASS)와 @TestMethodOrder를 동시에 사용한다면 순서 지정이 가능합니다.

 

public class HelloJUnitTest {

    
     @Test
    public void four() {
        System.out.println("네번째 테스트였으면 좋겠습니다.");

    }

    @Test
    public void first() {
        System.out.println("첫번째 테스트였으면 좋겠습니다.");
    }

    @Test
    public void third() {
        System.out.println("세번째 테스트였으면 좋겠습니다.");

    }

    @Test
    public void second() {
        System.out.println("두번째 테스트였으면 좋겠습니다.");

    }

}

위 같이 아무런 에너테이션 없이 실행했을 때 결과는 다음과 같이 순서가 뒤죽박죽인 것을 확인할 수 있습니다.  

 

[결과]

이럴때 순서를 정해주기 위해서 사용하는 것이

@TestInstance(Lifecycle.PER_CLASS)와 @TestMethodOrder 에너테이션을 함께 사용하는 것입니다.

각각의 테스트 케이스인 메서드 위에는 @Order()을 통해 지정합니다. 안에 들어가는 값이 작을수록 먼저 출력된다고 이해하면 편할 것 같습니다.

import org.junit.jupiter.api.*;

@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class OrderTest {

    @Test
    @Order(4)
    public void four() {
        System.out.println("네번째 테스트였으면 좋겠습니다.");

    }

    @Test
    @Order(1)
    public void first() {
        System.out.println("첫번째 테스트였으면 좋겠습니다.");
    }

    @Test
    @Order(3)
    public void third() {
        System.out.println("세번째 테스트였으면 좋겠습니다.");

    }

    @Test
    @Order(2)
    public void second() {
        System.out.println("두번째 테스트였으면 좋겠습니다.");

    }


}

 

[결과]

'JAVA > Test' 카테고리의 다른 글

[자바 Spring] 단위 테스트, 슬라이스 테스트 등 테스트의 기초에 대해 알아보자  (0) 2022.07.17
[자바 Spring] 가독성 좋은 테스팅 기법 Hamcrest의 기초 사용 방법  (0) 2022.07.16
    'JAVA/Test' 카테고리의 다른 글
    • [자바 Spring] 단위 테스트, 슬라이스 테스트 등 테스트의 기초에 대해 알아보자
    • [자바 Spring] 가독성 좋은 테스팅 기법 Hamcrest의 기초 사용 방법
    _DoYun
    _DoYun

    티스토리툴바