오늘의 키워드
- JUnit 5
오늘의 내용
JUnit 5는 자바 프로그래밍 언어를 위한 테스트 프레임워크이다. JUnit 5는 여러 모듈로 구성되어 있으며, 각각의 모듈이 특정 기능을 담당한다.
주요 특징
- 모듈화
- JUnit Platform: 테스트 프레임워크를 실행하는 런처와 테스트 결과를 보고하는 도구들로 구성된다.
- JUnit Jupiter: 새로운 테스트 프로그래밍 모델과 확장 모델을 제공한다.
- JUnit Vintage: JUnit 3 및 4 기반의 테스트를 실행할 수 있게 해주는 호환 모듈이다.
- 주피터 API
- JUnit 5는 다양한 어노테이션을 사용하여 테스트를 구성한다. 대표적인 어노테이션으로는 @Test, @BeforeEach, @AfterEach, @BeforeAll, @AfterAll 등이 있다.
- 확장 모델
- JUnit 5는 확장 모델을 통해 테스트 라이프 사이클의 다양한 단계에서 커스터마이징을 할 수 있다.
- @ExtendWith 어노테이션을 사용하여 확장을 쉽게 추가할 수 있다.
- 조건부 테스트 실행
- 특정 조건에 따라 테스트를 실행하거나 건너뛸 수 있다. 이는 환경 설정이나 특정 상황에 따라 유용하게 사용될 수 있다.
- 동적 테스트
- @TestFactory를 사용해 런타임에 동적으로 테스트 케이스를 생성할 수 있다. 이는 테스트 케이스를 프로그래밍적으로 생성할 수 있게 해 준다.
- 중첩 테스트
- @Nested를 사용해 논리적으로 관련된 테스트를 그룹화할 수 있다. 이는 테스트 코드의 가독성과 구조를 향상하는 데 도움을 준다.
오늘의 회고
오늘은 JUnit 5에 대해 배우면서 특히 모듈화 된 구조와 다양한 어노테이션을 통해 테스트 코드를 더 명확하게 작성할 수 있을 것 같다. 조건부 테스트 실행과 동적 테스트 생성 기능은 복잡한 테스트 시나리오에서도 유연하게 대응할 수 있게 해 준다. 프로젝트 시작을 했는데 첫 삽을 어떻게 풀 지 고민이 많이 된다. 내용 이해가 잘 안돼서 그런 건지 어떻게 적용을 시켜야 할지 고민을 조금 더 해봐야겠다.
'TIL' 카테고리의 다른 글
내일배움캠프 10주차 Spring Test (0) | 2024.06.19 |
---|---|
내일배움캠프 10주차 Spring Mock Object (0) | 2024.06.17 |
내일배움캠프 9주차 Spring OAuth 2.0 (0) | 2024.06.12 |
내일배움캠프 9주차 KPT 회고 (0) | 2024.06.11 |
내일배움캠프 9주차 Spring Pagination (0) | 2024.06.10 |