문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
wiki:java:junit:junit5 [2022/04/27 16:36] dhan |
wiki:java:junit:junit5 [2023/01/13 18:44] (현재) |
||
---|---|---|---|
줄 61: | 줄 61: | ||
===== 테스트 인스턴스 ===== | ===== 테스트 인스턴스 ===== | ||
+ | 기본 전략은 테스트 마다 인스턴스가 생성됨 <- 테스트간의 의존성을 없애기 위함 | ||
+ | @TestInstance(TestInstance.Lifecycle.PER_CLASS) <- 하나의 인스턴스로 진행 | ||
+ | @BeforeAll, @AfterAll 메소드가 static일 필요가 없음 | ||
+ | ===== 테스트 순서 ===== | ||
+ | 기본 전략은 각 메소드는 독립적으로 구동되어야 하므로, 순서에 크게 신경을 쓰고 있지 않음 | ||
+ | 유즈케이스 테스트를 하려면 테스트의 순서도 필요함 | ||
+ | @TestMethodOrder(MethodOrderer.OrderAnnotation.class) | ||
+ | @Order(1), @Order(2)... 순서가 같아도 오류는 나지 않음 | ||
+ | ===== 설정 파일 ===== | ||
+ | JUnit5에서 사용 가능 | ||
+ | src/ | ||
+ | | ||
+ | ===== JUnit5 확장 모델 ===== | ||
+ | 이전 JUnit4, JUnit3보다 단순해 짐 | ||
+ | @RunWith(Runner), | ||
+ | Extension | ||
+ | | ||
+ | 선언적 | ||
+ | @ExtendWith(FindSlowTestExtension.class) | ||
+ | public class ... | ||
+ | | ||
+ | 코딩으로 구현 | ||
+ | @RegisterExtension (static로 정의되어야 됨) | ||
+ | static FindSlowTestExtension | ||
+ | ===== JUnit5 마이그레이션 ===== | ||
+ | vintage 라이브러리를 추가해야 됨 | ||
+ | |||
+ | | ||
===== Ref ===== | ===== Ref ===== | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | |||
+ | ===== 예제 ===== | ||
+ | * [[wiki: | ||
{{tag> | {{tag> |