- 예시 프로젝트 다운로드
- 이전 게시글
테스트 순서 설정하기
개요
기본 전략
- 기본적으로 실행할 테스트 메서드는 특정한 순서에 의해 실행되지만, 어떻게 그 순서를 정하는지는 의도적으로 분명히 하지 않는다.
- 즉 테스트 메서드의 순서는 알 수 없다.
- 왜냐하면, 테스트 메서드는 서로 독립적으로 실행되며 의존되지 않기 때문이다.
-
하지만, 경우에 따라 특정 순서대로 테스트를 실행하고 싶을 때도 있다.
ex) 회원가입 → 로그인 → 글쓰기
- 이런 경우, 아래 방법을 사용하면 된다.
테스트 순서 설정
@TestMethodOrder
애너테이션
- 테스트 메서드의 실행 순서가 보장되어야하는 경우,
@TestMethodOrder
애너테이션을 클래스 레벨에 적용하여 실행 순서를 보장할 수 있다. - 보통 이런 경우, 테스트 메서드당 인스턴스를 생성하면 안된다.
-
따라서,
@TestInstance
애너테이션도 함께 사용한다.
예시
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class StudyTest {
@Test
@Order(1)
void test1() {
System.out.println("test1");
}
@Test
@Order(2) // 두번째로 실행될 테스트
void test2() {
System.out.println("test2");
}
@Test
@Order(3) // 세번째로 실행될 테스트
void test3() {
System.out.println("test3");
}
}
결과
- 본 게시글은 백기선님의 강의를 토대로 정리한 글입니다.
- 더 자세한 내용을 알고 싶으신 분들이 계신다면, 해당 강의를 수강하시는 것을 추천드립니다.