본문 바로가기
TIL

내일배움캠프 9주차 Spring JUnit5

by 율량동박씨 2024. 6. 13.

오늘의 키워드

  • 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에 대해 배우면서 특히 모듈화 된 구조와 다양한 어노테이션을 통해 테스트 코드를 더 명확하게 작성할 수 있을 것 같다. 조건부 테스트 실행과 동적 테스트 생성 기능은 복잡한 테스트 시나리오에서도 유연하게 대응할 수 있게 해 준다. 프로젝트 시작을 했는데 첫 삽을 어떻게 풀 지 고민이 많이 된다. 내용 이해가 잘 안돼서 그런 건지 어떻게 적용을 시켜야 할지 고민을 조금 더 해봐야겠다.