사용자 도구

사이트 도구


java:junit:5

JUnit 5

API 개념

  • 테스트 코드 작성을 위한 API와, 그렇게 작성한 테스트를 수행하는 Engine을 분리하였다.

JUnit 4로 작성한 코드

  • JUnit 4 API로 작성한 코드도 JUnit 5에서 실행가능하다.
  • 이 경우 junit-vintage-engine 으로 해당 코드를 수행한다.

JUnit 5로 작성한 코드

Gradle

  • Gradle과 함께 사용시
    test {
        useJUnitPlatform()
    }
     
    // spring-boot-starter-test 로 의존성 지정시
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' // junit4 지원 제외
    }

주유 Annotations

  • @DisplayName(“설명”) : 테스트 설명을 일반 텍스트로 지정 가능. 가독성이 높아짐.
  • @Disabled(“설명”) : 테스트 안하게 함. 설명도 지정.
  • @Disabled*(“설명”) : @Disabled 로 시작하는 여러 애노테이션들. 해당 조건에 따라 테스트 안하게 함. 설명도 지정.
  • @BeforeAll : 테스트 클래스 초기화시 한 번 실행
  • @BeforeEach : 모든 테스트 메소드 실행 직전 실행
  • @Test : 테스트
  • @AfterEach : 모든 테스트 메소드 실행 직후 실행
  • @AfterAll : 테스트 클래스가 종료될 때 실행
  • @Nested : 중첩 클래스에 지정. 중첩 테스트가 만들기.
  • @Tag : 클래스나 메서드에 붙인다. 테스트 실행시 특정 태그가 붙은 것만 실행/제외 할 수 있다.

Assumptions

  • assumTrue : boolean 인자가 true 일 때만 테스트 실행
  • assumFalse : boolean 인자가 false 일 때만 테스트 실행
  • assumeThat(boolean/BooleanSupplier, Executable) : boolean 이 true이면 executable lambda 실행

참조

java/junit/5.txt · 마지막으로 수정됨: 2020/07/08 17:35 저자 kwon37xi