Junit5 - 2. 이론 - 정의

겔로그·2022년 12월 2일

Junit5

목록 보기
2/5
post-thumbnail

개요

오늘은 junit5에 대해 자세하게 알아보는 시간을 가져보겠습니다.

공식 문서를 참고하면 junit5는 다음과 같이 정의할 수 있습니다.

JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

그렇다면 세 가지 구성 요소에 대해 알아볼까요?

Junit5의 3요소

Junit Platform

  • JVM 위에서 테스트 프레임워크가 실행되도록 기초를 제공
  • 플랫폼에서 실행되는 테스트 프레임워크를 개발하기 위한 테스트 엔진 API를 정의
  • 플랫폼을 시작할 수 있는 콘솔 런처를 제공(command line 기반)

JUnit Jupiter

  • 테스트를 위한 프로그래밍 모델과 확장 모델의 조합
  • JUnit 5에서 테스트를 작성하고 확장할 수 있도록 하는 Jupiter 기반 테스트 엔진

JUnit Vintage

  • JUnit 3과 JUnit 4 를 지원하기 위한 테스트 엔진 제공

결과적으로 말씀드리자면 junit5는 새로운 기능을 Junit Platform + JUnit Jupiter으로 제공하고 기존 junit3와 junit4를 호환시키는 JUnit Vintage포함한 야무진 녀석입니다.

Junit5 도식화 모델

Junit5 호환 버전

기존 Junit4는 JDK5버전 이상에서 지원되었으나 Junit5 부터는 JDK8 버전 이상부터 지원하고 있습니다.

Junit5의 장점

1. JUnit Vintage가 junit3과 junit4를 호환합니다.

말 그대로 junit3와 junit4를 호환하기 때문에 기존에 junit을 이용하고 있던 사용자들도 부담없이 버전을 업그레이드 할 수 있습니다.

2. 좀 더 직관적인 annotation

테스트 코드 어노테이션이 보다 더 직관적으로 변경되었습니다.
기존 junit4에서 사용하던 annotation의 의미가 모호한 부분이 몇몇 부분에서 느낄 수 있었는데 해당 부분이 개선되었습니다.

관련 부분은 다음 챕터에서 포스팅할 예정입니다.

3. 더 다양한 기능 제공

기존 junit4 보다 더 많은 기능을 제공합니다. 다음 기능들에 대해 공유할 예정입니다.

오늘은 junit5의 구조에 대해 알아보았습니다. 다음 포스팅 때는 junit4에서 달라진 점을 공유드릴 예정이며, 새롭게 추가된 기능도 알아보는 시간을 가져보겠습니다.

감사합니다.

profile
Gelog 나쁜 것만 드려요~

0개의 댓글