Junit5 기초

Bong2·2021년 12월 25일
0

기본적인 Annotation

    @Test
    void create(){
        Study study = new Study();
        assertNotNull(study);
        System.out.println("create");
    }

    @Test
    void create1(){
        System.out.println("create1"
                );
    }

    @BeforeAll
    static void beforeAll(){
        System.out.println("beforeAll ");
    }
    @BeforeEach
    void beforeEach(){
        System.out.println("beforeEach ");
    }
    @AfterAll
    static void afterAll(){
        System.out.println("afterAll");
    }
    
    @AfterEach
    void afterEach(){
        System.out.println("afterEach");
    }

실행결과
@Test : 테스트를 실행할 함수 지정
@BeforeEach, AfterEach : 테스트 함수 이전과 이후에 실행(매번 호출)
@BeforeAll, AfterAll : 테스트 시작과 끝에 실행(한번만 실행)
@Disabled : 테스트에서 제외시킴 (잘 사용하지 않는다)

다양한 Annotation

  • @ParameterizedTest : 메서드가 매개 변수가 있는 테스트임을 나타냅니다. (매개 변수를 대입해가며 반복 실행할 때 사용)
  • @RepeatedTest : 반복 테스트를 위한 메소드임을 나타냅니다.
  • @TestFactory : 동적 테스트를 위한 테스트 팩토리 메소드를 나타냅니다.
  • @TestTemplate : 여러번 호출되도록 설계된 테스트 케이스의 템플릿임을 나타냅니다.
  • @TestMethodOrder : 테스트 메소드 실생 순서를 구성하는데 사용됩니다.
  • @TestInstance : 테스트 라이프 사이플을 구성하는데 사용됩니다.
  • @DisplayName : 테스트 클래스 또는 테스트 메서드에 대한 사용자 지정 표시 이름을 설정합니다. (가장 많이 사용한다. 새로추가) → 공백 emoji, 특수문자 등을 모두 지원
  • @DisplayNameGeneration : 테스트 클래스에 대한 커스텀 이름 생성기를 생성합니다.
  • @Nested : non-static 중첩 클래스임을 나타냅니다. (계층별로 나눌때 사용)
  • @Tag : 새로운 태그를 선언할 때 사용됩니다.
  • @Timeout : 주어진 시간안에 실행을 못할 경우 실패하도록 하는데 사용됩니다.

테스트 이름 표기

@DisplayNameGeneration : 언더바 ( )로 함수 표기를 하면 대신 blank로 바꿔서 보여준다.

@DisplayName : 자신이 설정한 이름으로 표기

    @DisplayName("study 만들기")
    void create(){
        Study study = new Study();
        assertNotNull(study);
        System.out.println("create");
    }


주의 사항😂 : 인텔리제이에서 DisplayName으로 표기가 안된다.

해결법 : File->Setting->Build,Execution,Deployment->Gradle->Intellij로 변경

profile
자바 백엔드 개발자로 성장하자

0개의 댓글