티스토리 뷰

반응형

조건에 따라 테스트 실행하기

Assumptions

  • 특정한 OS, Java 버전, 환경변수에 따라 실행하거나 실행하지 말아야할 때 사용한다.

환경에 따라 테스트를 다르게 진행하자

  • 메소드를 활용하자

    • assumeTrue 메소드
    @Test
    @DisplayName("스터디 만들기")
    void create_new_method() {
        String test_env = System.getenv("TEST_ENV");
        System.out.println(test_env);
        assumeTrue("LOCAL".equalsIgnoreCase(test_env));
    }
    //LOCAL 환경 변수에서만 해당 테스트가 실행된다.
    • assumingThat 메소드
    @Test
    @DisplayName("스터디 만들기")
    void create_new_method() {
        assumingThat("LOCAL".equalsIgnoreCase(test_env), () -> {
            System.out.println("LOCAL 환경에서 테스트");
        });
    
        assumingThat("TEST".equalsIgnoreCase(test_env), () -> {
            System.out.println("TEST 환경에서 테스트");
        });
    }
    //LOCAL이거나 TEST 환경일 때 각각 다르게 테스트 가능하다.

  • 어노테이션을 활용하자

@Test
@DisplayName("스터디 만들기")
@EnabledIfEnvironmentVariable(named = "TEST_ENV", matches = "local")
void create_method6() {
    System.out.println("LOCAL 환경에서 테스트");
}

@Test
@DisplayName("스터디 만들기")
@EnabledIfEnvironmentVariable(named = "TEST_ENV", matches = "test")
void create_method5() {
    System.out.println("TEST 환경에서 테스트");
}

OS에 따라 테스트를 다르게 진행하자.

@Test
@DisplayName("스터디 만들기")
@EnabledOnOs({OS.MAC, OS.LINUX})
void create_method1() {
    System.out.println("OS 혹은 LINUX 환경에서 테스트");
}

@Test
@DisplayName("스터디 만들기")
@DisabledOnOs({OS.MAC, OS.LINUX})
void create_method2() {
    System.out.println("OS 혹은 LINUX 환경에서 테스트 안함");
}
//OS에 구분을 주어 테스트를 진행할 수 있다.

JAVA 버전에 따라 테스트를 다르게 진행하자.

@Test
@DisplayName("스터디 만들기")
@EnabledOnJre({JRE.JAVA_8, JRE.JAVA_9, JRE.JAVA_10})
void create_method4() {
    System.out.println("JAVA8, 9, 10 버전에서만 테스트");
}

@Test
@DisplayName("스터디 만들기")
@DisabledOnJre({JRE.JAVA_8, JRE.JAVA_9, JRE.JAVA_10})
void create_method3() {
    System.out.println("JAVA8, 9, 10 버전에서만 테스트 안함");
}
//Java 버전에 따라 테스트 다르게 실행가능하다.
반응형

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

[JUnit5] 커스텀 태그  (0) 2020.02.18
[JUnit5] 태깅과 필터링  (0) 2020.02.18
[JUnit5] Assertion  (0) 2020.01.05
[JUnit5] 테스트 이름 표기하기  (0) 2020.01.05
[JUnit5] JUnit5 소개 및 기본 애노테이션 설명  (0) 2020.01.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함