티스토리 뷰

반응형

JUnit5 소개

JUnit5 란

  • 자바 개발자가 가장 많이 사용하는 테스팅 프레임 워크다.
  • JUnit Platform에 의해서 Test를 실행해주고, TestEngine API의 구현체인 Jupiter를 활용하여 Test 소스를 작성할 수 있다.

JUnit 5의 기본 애노테이션

  • @Test
    • 테스트를 진행하고자 하는 메소드를 구현할 때 사용한다.
  • @BeforeAll
    • @Test를 모두 실행하기 전에 딱 한번만 호출 되는 것이다.
  • @AftereAll
    • @Test를 모두 실행한 후에 딱 한번만 호출 되는것이다.
  • @BeforeEach
    • @Test를 모두 실행할 때 각각의 @Test가 실행되기 전에 호출되는 것이다.
  • @AfterEach
    • @Test를 모두 실행할 때 각각의 @Test가 실행된 후에 호출되는 것이다.
  • @Disabled
    • 테스트를 진행하지 않은 @Test가 있을 시 해당 애노테이션을 붙이면 테스트를 진행하지 않을 수 있다.
    • 현재 운영에 사용되어지지는 않은데 추후 사용될 수도 있으니! 지우지 않고 냅두는 상황이 매우 많다.
class StudyTest {

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

    @Test
    //테스트 하는 것중 테스트 하지 않은 것을 빼려고 할 때 사용
    void create2() {
        System.out.println("create2");
    }

    //@Test를 모두 실행하기 전에 딱 한 번만 실해오디는 것
    //private은 안되고 default만 허용, return type이 있으면 안됨
    @BeforeAll
    static void beforeAll() {
        System.out.println("before all");
    }

    //모든 Test가 실행된 후 딱 한번만 호출
    //static void로 구현
    @AfterAll
    static void afterAll() {
        System.out.println("after all");
    }

    //모든 테스트를 실행할 때 각각의 테스트가 실행되기 이전에 호출
    @BeforeEach
    void beforeEach(){
        System.out.println("before each");
    }

    //모든 테스트를 실행할 때 각각의 테스트가 실행되기 이후에 호출
    @AfterEach
    void afterEach(){
        System.out.println("after each");
    }

}

실행 결과

image

Disabled 사용 시

@Test
    //테스트 하는 것중 테스트 하지 않은 것을 빼려고 할 때 사용
    void create2() {
        System.out.println("create2");
    }

실행 결과

image
해당 메소드는 출력이 되지 않고 아래 사진과 같이 테스트 결과 창에 해당 메소드가 Disabled 되었다는 표시가 나타난다.

JUnit5 Test 메소드를 작성할 때 주의

Test Class나 메소드를 작성할 때 접근제한자를 붙여줘야 했는데, 그럴 필요가 없어졌다. 이유는 리플렉션을 사용하기 때문이다.

리플렉션을 사용할 시 private이든 default든 접근이 가능하니깐 굳이 접근제한자를 붙일 필요가 없다라고 판단한 것이다.

반응형

'Test > JUnit' 카테고리의 다른 글

[JUnit5] 커스텀 태그  (0) 2020.02.18
[JUnit5] 태깅과 필터링  (0) 2020.02.18
[JUnit5] 조건에 따라 테스트 실행하기  (0) 2020.01.12
[JUnit5] Assertion  (0) 2020.01.05
[JUnit5] 테스트 이름 표기하기  (0) 2020.01.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함