JUnit 5 테스트 순서
The Java JUnit 5 테스트 순서
백기선님의 강의인 The Java 애플리케이션을 테스트하는 다양한 방법
을 듣고 공부한 내용을 정리한 글
테스트는 어떤 순서로 실행되는 걸까?
JUnit 5에서는 일반적으로 테스트 선언 순서대로 실행이 되지만 이는 내부적으로 얼마든지 바뀔 수 있다.
때문에 이 순서에 의존해서는 안된다.
이 순서를 명확하게 드러내지 않은 의도는, 단위테스트 끼리 서로 영향을 미쳐선 안되기 때문이다.
그러나 경우에 따라서는 순서대로 UseCase,시나리오에 맞춰서 실행되어야만 하는 테스트도 존재할 수 있다.
Stateful한 테스트가 있을 수도 있으니 이를 위해 테스트 인스턴스를 하나만 만들어 공유하게 하고(이전 시간에 배웠다.), 테스트의 순서를 지정해주게 해보자.
@TestMethodOrder(MethodOrderer의 구현체)
MethodOrderer의 구현체는 세가지이다.
Alphanumeric
OrderAnnotation
Random
그 중 OrderAnnotation에 대해서 알아보자
OrderAnnotation
OrderAnnotation으로 설정하면 단위 테스트에 @Order 애노테이션을 사용할 수 있는데, 기존 스프링에서 사용하던 @Order와 헷갈리지 않게 조심하자.
대신 사용방법은 동일하다.
낮은 값일 수록 더 높은 우선 순위가 있다.
Reference
백기선님 인프런 강의 더 자바, 애플리케이션을 테스트하는 다양한 방법