JUnit이란?

신창호·2022년 6월 21일
0

JUnit이란?

  • 자바 프로그래밍 언어용 유닛(단위) 테스트 프레임워크
  • 예전 프로그램은 이 코드가 정상적으로 작동하는 지 확인하기위해서, 처음부터 실행하여, 일일이 확인해야 됐었다.
  • 하지만, 단위 테스트인 JUnit에 의해, 내가 확인하고자 하는 부분만 따로 꺼내어 테스트를 해볼 수 있으며,
  • 실제 빌드시에는 아무런 영향이 없다.
  • 현재는 Spring Boot에서 프로젝트를 만들면, 기본으로 JUnit를 가져온다.

역할

  • 외부 테스트 케이스를 만들어 번거롭게 디버깅하지않아도 예외처리를 미리 확인해 볼 수 있다.
  • 테스트 시 걸릴 시간도 미리 알수 있어 관리하기 수월하다.
  • 각 부분마다,테스트 파일로 관리할 수 있고 이 History가 인수인계가 가능하여, 이 코드가 어느정도 작동하는 지 확인해주기도 좋다.

특징

  • JUnit4부터는 어노테이션으로 간결하게 테스트를 지원함
  • 결과는 성공(녹색), 실패(붉은색) 중 하나로 표시
  • @Test 메서드가 호출할 때마다 새로운 인스턴스가 생성되어 독립적인 테스트 가능
  • 단정 문으로 테스트 케이스의 수행 결과를 판별함(EX.assertEquals(예상 값, 실제 값))

기본 어노테이션

@Test

  • 테스트를 만드는 모듈 역할

    @DisplayName

  • 테스트 클래스 또는 테스트 메서드의 사용자 정의 표시 이름을 정의

    @BeforeEach

  • 각 테스트 메서드 전에 실행됨을 나타냄

    @AfterEach

  • 각 테스트 메서드 후에 실행됨을 나타냄

    @ExtendWith

  • 사용자 정의 확장명을 등록하는데 사용

    @BeforeAll

  • 현재 클래스의 모든 테스트 메서드 전에 실행됨을 나타냄

@AfterAll

  • 현재 클래스의 모든 테스트 메서드 후에 실행됨을 나타냄

    @Disable

  • 테스트 클래스 또는 메서드를 비활성화

Junit.Assert

AssertJ

  • 단언문(assertion)을 작성하기 위한 풍부한 인터페이스를 제공하는 자바 라이브러리로,
    테스트 코드의 가독성을 향상시키고 테스트 유지 관리를 더 쉽게 만드는 것을 주요 목적
  • 즉, JUnit의 단언에 대한 표현력 부족을 보완한다
  • 이 라이브러리 또한, Spring boot에 기본적으로 들어간다.

장점

  • 참고 유튜브링크
    • 아쉽게도 영상은 JUnit4관련 설명이지만, 참고하는데는 문제가 없다고 생각한다.
  • 타입별로 다양한 검증 메서드를 제공한다.
  • 개발자가 테스트를 하면서 필요하다고 상상할 수 있는 거의 모든 메서드 제공

참고링크

profile
한단계씩 올라가는 개발자

0개의 댓글