본문 바로가기
Java

Junit5

by k0o9 2022. 5. 27.

JUnit5

자바 개발자가 가장 많이 사용하는 테스팅 프레임워크로 자바 8이상을 필요로 한다.

JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

Platform: 테스트를 실행해주는 런처 제공. TestEngine API 제공.

Jupiter: TestEngine API 구현체로 JUnit 5를 제공.

Vintage: JUnit 4와 3을 지원하는 TestEngine 구현체.

스프링부트2.2버전 이상을 사용한다면 기본적으로 JUnit5가 추가된다.

스프링부트를 사용하지 않고 직접 추가할때는 다음과 같다.

<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
    <version>5.5.2</version>
    <scope>test</scope>
</dependency>
  • @TestFactory – 동적 테스트를위한 테스트 팩토리 인 메소드를 나타냅니다.
  • @DisplayName – 테스트 클래스 또는 테스트 메서드에 대한 사용자 지정 표시 이름을 정의합니다.
  • @Nested – 주석이 달린 클래스가 중첩 된 비 정적 테스트 클래스임을 나타냅니다.
  • @Tag – 테스트 필터링을위한 태그 선언
  • @ExtendWith – 사용자 지정 확장을 등록하는 데 사용됩니다.
  • @BeforeEach – 주석이 달린 메소드가 각 테스트 메소드 이전에 실행됨을 나타냅니다 (이전 @Before ).(여러번 비포)
  • @AfterEach – 각 테스트 메서드 (이전에는 @After ) 후에 주석이 추가 된 메서드가 실행됨을 나타냅니다.
  • @BeforeAll – 주석이 추가 된 메서드가 현재 클래스의 모든 테스트 메서드보다 먼저 실행됨을 나타냅니다 (이전 @BeforeClass ).(한번 통합전으로 전)
  • @AfterAll – 현재 클래스 (이전의 @AfterClass )의 모든 테스트 메서드 후에 주석이 추가 된 메서드가 실행됨을 나타냅니다.
  • @Disable – 테스트 클래스 또는 메서드를 비활성화하는 데 사용됩니다 (이전에는 @Ignore ).

'Java' 카테고리의 다른 글

클래스  (0) 2022.05.27
자료구조 구현  (0) 2022.05.27
조건문과 반복문  (0) 2022.05.27
연산자  (0) 2022.05.27
Java Final과 불변객체  (0) 2022.05.27