자바에서 단위 테스트를 하기 위한 프레임워크 중에 대표적으로 JUnit5가 있다. JUnit은 Java로 작성된 오픈 소스 테스트 프레임워크로, @Test 어노테이션을 통해 테스트를 수행할 수 있다. 그뿐만 아니라 JUnit은 여러 어노테이션을 통해 테스트를 지원한다.
@Test : 테스트 메서드로 인식한다
@BeforeEach : 메서드가 테스트 코드가 실행되기 전에 수행되게 한다
@AfterEach : 메서드가 테스트 코드가 실행된 후에 수행되게한다
@BeforeAll : 모든 테스트 코드가 수행되기 전에 수행되는 메서드를 만든다
@AfterAll : 모든 테스트 코드가 수행된 후에 수행되는 메서드를 만든다
@DisplayName : 테스트 내용을 네이밍
@Nested : 테스트 그룹지을 때 활용
@Oreder : 각 테스트 메서드의 실행 순서 지정
JUnit 어노테이션을 활용해서 테스트를 진행할 때 테스트 패턴을 활용하면 테스트를 구조화시킬 수 있다. Given-When-Then 패턴으로 테스트 코드 스타일을 맞추는 방식은 다음과 같다.
Given : 테스트 하기 위해 필요한 값 선언하는 부분
When : 테스트 대상을 실제로 실행하는 부분
Then : 테스트를 실행했을 때 예상 결과에 대해 예측하고 맞추는 부분