Before - After
모든 테스트 코드 단위
- @BeforeAll
- 모든 테스트가 수행되기 전에 최초로 수행되는 메서드
- static으로 만들어야 한다.
- 모든 테스트가 수행되기 전에 최초로 수행되는 메서드
- @AfterAll
- 모든 테스트가 수행된 후에 마지막으로 수행되는 메서드
- static으로 만들어야 한다.
- 모든 테스트가 수행된 후에 마지막으로 수행되는 메서드
각각의 테스트 코드 단위
- @BeforeEach
- 각각의 테스트 코드가 실행되기 전에 수행되는 메서드
- @AfterEach
- 각각의 테스트 코드가 실행된 후에 수행되는 메서드
테스트 반복하기
- @RepeatTest
- 해당 테스트 메서드를 반복할 수 있다.
- value로 반복 값 설정가능
- name 속성을 사용하여 네이밍 가능
- RepetitionInfo를 사용하여 현재 반복 횟수 및 총 횟수 확인가능
- 해당 테스트 메서드를 반복할 수 있다.
@RepeatedTest(value = 5, name="테스트 {currentRepetition} / {totalRepetitions}")
void test(RepetitionInfo info) {
System.out.println(info.getCurrentRepetition() + "/" + info.getTotalRepetitions());
}
- @ParameterizedTest
- 파라미터를 받아 테스트 할 수 있는 메서드를 만들 수 있다.
- @ValueSoure()로 파라미터 값을 전달 할 수 있다.
@ParameterizedTest
@ValueSource(ints = {1, 2, 3, 4, 5})
void parameterTest(int num) {
System.out.println(num);
}
Assertions
JUnit에서 진짜 중요한 클래스다.
여러 종류의 단언문을 제공하는데 일부만 설명한다.
- Assertions.assertEquals(expected, actual)
- 둘이 동일한지 확인
- 둘이 값이 다를 경우 테스트 실패
- Assertions.assertTrue / False(boolean)
- True인지 False인지 확인
- 예상과 값이 다를 경우 테스트 실패
- Assertions.assertNull / NotNull(actual)
- Null인지 Null이 아닌지 확인
- 예상과 값이 다를 경우 테스트 실패
- Assertions.asserThrows(expectedType, executable)
- executable 실행 시 expectedType 타입의 예외가 발생하는지 확인
- 예외가 발생하지 않거나, 다른 예외가 발생하면 테스트 실패
'TIL' 카테고리의 다른 글
TIL 2023-12-05 Entity에 대한 JPA 테스트는 어떻게 할까? (0) | 2023.12.05 |
---|---|
TIL 2023-12-01 Mockito any()를 쓰는 이유 (0) | 2023.12.01 |
TIL 2023-11-29 단위 테스트 개념 정리 (0) | 2023.11.29 |
TIL 2023-11-28 OAuth 작동 방식 및 이전 배경, CSR SSR (0) | 2023.11.28 |
TIL 2023-11-27 하나의 커스텀 예외 클래스로 모든 컨트롤러 예외 처리하기 feat(글로벌 예외 핸들러) (2) | 2023.11.27 |