Language/JAVA

4주차 과제 : JUnit 5

과제 0. JUnit 5 학습하세요.

  • 인텔리J, 이클립스, VS Code에서 JUnit 5로 테스트 코드 작성하는 방법에 익숙해 질 것.
  • 이미 JUnit 알고 계신분들은 다른 것 아무거나!
  • 더 자바, 테스트 강의도 있으니 참고하세요~

junit.org/junit5/docs/current/user-guide/

 

JUnit 5 User Guide

Although the JUnit Jupiter programming model and extension model will not support JUnit 4 features such as Rules and Runners natively, it is not expected that source code maintainers will need to update all of their existing tests, test extensions, and cus

junit.org

JUnit5란?

JUnit5 공식 가이드에 나온 설명은 다음과 같다

 

Unlike previous versions of JUnit, JUnit 5 is composed of several different modules from three different sub-projects.

 

JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

 

The JUnit Platform serves as a foundation for launching testing frameworks on the JVM. It also defines the TestEngine API for developing a testing framework that runs on the platform. Furthermore, the platform provides a Console Launcher to launch the platform from the command line and a JUnit 4 based Runner for running any TestEngine on the platform in a JUnit 4 based environment. First-class support for the JUnit Platform also exists in popular IDEs (see IntelliJ IDEA, Eclipse, NetBeans, and Visual Studio Code) and build tools (see Gradle, Maven, and Ant).

JUnit Jupiter is the combination of the new programming model and extension model for writing tests and extensions in JUnit 5. The Jupiter sub-project provides a TestEngine for running Jupiter based tests on the platform.

JUnit Vintage provides a TestEngine for running JUnit 3 and JUnit 4 based tests on the platform.

 

JUnit 5 requires Java 8 (or higher) at runtime. However, you can still test code that has been compiled with previous versions of the JDK.


JUnit의 이전 버전과 달리 JUnit 5는 세가지 하위 프로젝트의 여러 모듈로 구성됩니다.

 

JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

 

JUnit 플랫폼은 JVM에서 테스트 프레임 워크를 시작하기위한 기반 역할을합니다.

또한 플랫폼에서 실행되는 테스트 프레임 워크를 개발하기위한 TestEngine API를 정의합니다.

또한 이 플랫폼은 명령 줄에서 플랫폼을 시작하는 Console Launcher와 JUnit 4 기반 환경의 플랫폼에서 모든 TestEngine을 실행하기위한 JUnit 4 기반 Runner를 제공합니다.

JUnit 플랫폼에 대한 최고급 지원은 인기있는 IDE (IntelliJ IDEA, Eclipse, NetBeans 및 Visual Studio Code 참조) 및 빌드 도구 (Gradle, Maven 및 Ant 참조)에도 존재합니다.

JUnit Jupiter는 JUnit 5에서 테스트 및 확장을 작성하기위한 새로운 프로그래밍 모델과 확장 모델의 조합입니다.

Jupiter 하위 프로젝트는 플랫폼에서 Jupiter 기반 테스트를 실행하기위한 TestEngine을 제공합니다.

JUnit Vintage는 플랫폼에서 JUnit 3 및 JUnit 4 기반 테스트를 실행하기위한 TestEngine을 제공합니다.

 

JUnit 5는 런타임시에 Java 8이상이 필요합니다.

그러나 이전 버전의 JDK로 컴파일된 코드는 계속 테스트 할 수 있습니다.

 

https://beomseok95.tistory.com/303

 

 

 

Junit5 Gradle and Java sample

github.com/junit-team/junit5-samples/tree/r5.7.1/junit5-jupiter-starter-gradle

 

junit-team/junit5-samples

Collection of sample applications using JUnit 5. Contribute to junit-team/junit5-samples development by creating an account on GitHub.

github.com

Junit5 Maven sample

github.com/junit-team/junit5-samples/tree/r5.7.1/junit5-jupiter-starter-maven

 

junit-team/junit5-samples

Collection of sample applications using JUnit 5. Contribute to junit-team/junit5-samples development by creating an account on GitHub.

github.com