JUnit 5 테스트 순서

The Java JUnit 5 테스트 순서

백기선님의 강의인 The Java 애플리케이션을 테스트하는 다양한 방법을 듣고 공부한 내용을 정리한 글

테스트는 어떤 순서로 실행되는 걸까?

JUnit 5에서는 일반적으로 테스트 선언 순서대로 실행이 되지만 이는 내부적으로 얼마든지 바뀔 수 있다.

때문에 이 순서에 의존해서는 안된다.

이 순서를 명확하게 드러내지 않은 의도는, 단위테스트 끼리 서로 영향을 미쳐선 안되기 때문이다.

그러나 경우에 따라서는 순서대로 UseCase,시나리오에 맞춰서 실행되어야만 하는 테스트도 존재할 수 있다.

Stateful한 테스트가 있을 수도 있으니 이를 위해 테스트 인스턴스를 하나만 만들어 공유하게 하고(이전 시간에 배웠다.), 테스트의 순서를 지정해주게 해보자.

@TestMethodOrder(MethodOrderer의 구현체)

MethodOrderer의 구현체는 세가지이다.

  • Alphanumeric

  • OrderAnnotation

  • Random

그 중 OrderAnnotation에 대해서 알아보자

OrderAnnotation

OrderAnnotation으로 설정하면 단위 테스트에 @Order 애노테이션을 사용할 수 있는데, 기존 스프링에서 사용하던 @Order와 헷갈리지 않게 조심하자.

대신 사용방법은 동일하다.

낮은 값일 수록 더 높은 우선 순위가 있다.

Reference

백기선님 인프런 강의 더 자바, 애플리케이션을 테스트하는 다양한 방법



© 2022. by minkuk

Powered by minkuk