본문 바로가기

Language/Java(TestCode)

[TestCode] @TestMethodOrder 테스트 순서 (JUnit5)

- 테스트 코드는 내부적으로 정해져있는 순서에 맞춰 실행되기때문에 여러번 실행을 해도 동일한 순서로 동작한다. (junit 내부 로직 변화에 따라 변할 수 있다)

 

@TestMethodOrder : 테스트 메소드를 원하는 순서에 따라 실행하도록 해준다. 

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
class LunchTest {
```
    @Order(1)
    @custom
    @DisplayName("테스트 순서 1")
    void order1_ex() {
        System.out.println("첫번째 테스트");
    }

    @Order(3)
    @custom
    @DisplayName("테스트 순서 3")
    void order3_ex() {
        System.out.println("세번째 테스트");
    }

    @Order(2)
    @custom
    @DisplayName("테스트 순서 2")
    void order2_ex() {
        System.out.println("두번째 테스트");
    }
}
  • 기본 구현체
    • Alphanumeric
    • OrderAnnotation
    • Random

- 위 테스트 실행시 항상 @Order 어노테이션에 설정된 순서대로 실행된다.