ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JUnit이란?
    프로그래밍 기초 공부 2023. 1. 3. 17:52

    유닛 테스트

    • 프로그래밍에서 모든 함수와 메서드에 대한 테스트 케이스를 작성하여 의도된 대로 잘 동작하는지 검증하는 절차
    • 개발 수명주기의 정황과 시스템에 의존적
      • 시스템의 다른 부분에서 격리하여 독립적으로 수행해야 하는 테스트
    • 가짜 프로그램, 객체(Mock Object)를 만들어서 활용 가능
      • 정교하게 테스트 하기 위해서는 Test Case 작성은 필수

     

     

    유닛 테스트 장점

    • 개발단계 초기에 문제를 발결할 수 있게 도와줌
    • 리팩토링 또는 라이브러리 업그레이드 등에서 기능 확인을 도와줌(회귀 테스트)
    • 기능에 대한 불확실성 감소
    • 시스템에 대한 실제 문서 또는 예제로써 사용가능
    • 빠른 피드백과 기능을 안전하게 보호 가능
    • 프로그램의 안정성을 높임
    • System.out.println()으로 하는 번거로운 디버깅이 필요없으며, 개발기간 중 대부분을 차지하는 디버깅 시간을 단축

     

     

    JUnit

    • 자바 프로그래밍 언어용 유닛 테스트 프레임워크
    • 테스트 결과는 Test클래스로 개발자에게 테스트 방법 및 클래스의 History를 공유 가능
    • assert 메서드로 테스트 케이스의 수행 결과를 판별
    • JUnit4, JUnit5를 대게 사용
    • 어노테이션으로 간결하게 사용 가능(JUnit4부터)

     

     

    JUnit5

    JUnit5는 크게3가지 하위 프로젝트의 여러 모듈로 구성
    JUnit5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
    • JUnit Platform
      • JVM에서 테스트 프레임워크를 시작하기 위한 기반 역할
      • 테스트하기 위한 TestEngine API를 제공
      • Command line을 사용할 수 있는 Console Launcher 제공
      • JUnit 4 기반의 테스트를 제공

     

    • JUnit Jupiter
      • JUnit 5에서 테스트 및 확장을 위한 새로운 프로그래밍 모델과 확장 모델의 조합
      • Platform에서 Jupiter 기반 테스트를 실행하기위한 TestEngine을 제공

     

    • JUnit Vintage
      • Platform에서 JUnit 3와 JUnit 4 기반의 테스트를 할 수 있는 TestEngine을 제공한다.

    '프로그래밍 기초 공부' 카테고리의 다른 글

    slf4j란?  (0) 2023.01.10
    정규화란?  (0) 2023.01.03
    트랜잭션이란?  (0) 2022.12.31
    Redis란?  (1) 2022.12.31
    JWT란?  (0) 2022.12.26
Designed by Tistory.