반응형
이 포스팅에서 작성하는 내용은 더 자바, 애플리케이션을 테스트하는 다양한 방법 에서 발췌하였습니다.
https://inf.run/CpvH
테스트 이름 설정하는 어노테이션
- @DisplayNameGeneration : 테스트 이름을 생성해주는 Rule 설정 어노테이션(클래스, 메서드 적용 가능)
- @DisplayName : 테스트 이름을 설정할 수 있는 어노테이션 (@DisplayNameGeneration 보다 우선순위가 높음)
더 많은 정보 : https://junit.org/junit5/docs/current/user-guide/#writing-tests-display-names
코드 | 실행 결과 | |
적용 전 | ||
적용 후 |
Assertion
assertEquals(A, B, (C)) |
|
assertNotNull(A) | A가 Null이 아닌 지 확인 (Null 이면 예외 발생) |
assertTrue(A) | A가 True(boolean) 인 지 확인 |
assertAll(executables...) | 모든 Assert 연산을 한 번에 확인 이 AssertAll을 사용하지 않으면, 예외 발생 시 다음 Assert 연산을 확인 할 수 없음 |
assertThrows(A, executable) | executable 실행 시, A라는 예외가 발생하는 지 확인 (예외가 발생해야 정상 작동) |
assertTimeout(duration, executable) | 특정 시간(duration) 안에 executable이 실행 완료되는 지 확인 다만, 특정 시간을 넘어서도 executable이 끝나야 확인이 가능하다. 특정 시간이 넘어가면 바로 끝내고 싶을 때 : assertTimeoutPreemptively 사용 (다만 트랜잭션 스레드를 사용하는 경우 문제가 있다고 하니 주의) |
ex 1) assertEquals
코드 | 실행결과 |
ex 2) assertAll
코드 | 실행결과 |
ex 3) assertTimeout
코드 | 실행결과 |
조건별로 테스트하는 방법
assumeTrue(A) | A조건일 때, 테스트 진행 |
assumingThat(A, B) | A조건일 때, B 테스트 진행 |
@EnabledOnOs (Disabled도 존재 | OS가 일치할 때, 테스트 진행 |
@EnabledOnJre | JDK가 일치할 때, 테스트 진행 |
@EnabledIfEnvironmentVariable | 환경 변수가 일치할 때, 테스트 진행 |
@EnabledIf | 조건이 일치할 때, 테스트 진행 |
위의 @Enabled_ 와 마찬가지로 (Disabled_도 존재) |
ex 1) assumeTrue
코드 | 실행결과 |
ex 2) EnabledOnOs, EnabledOnJre
코드 | 실행결과 |
반응형
'BE > Java' 카테고리의 다른 글
[Junit 5] Test Instance, Test Order, junit 전역 설정 (0) | 2023.02.14 |
---|---|
[Junit 5] Tag, 테스트 반복 (0) | 2023.02.13 |
[Junit 5] Junit5 들어가기 (0) | 2023.02.07 |
[Effective Java] 아이템 90. 직렬화된 인스턴스 대신 직렬화 프록시 사용을 검토하라 (0) | 2023.01.05 |
[Effective Java] 아이템 89. 인스턴스 수를 통제해야 한다면 readResolve 보다는 열거 타입을 사용하라 (0) | 2023.01.04 |