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

YoungG209·2021년 12월 23일
0

인프런의 "더 자바, 애플리케이션을 테스트하는 다양한 방법”을 보고 정리한 것임

1. Assumption

  • org.junit.jupiter.api.Assumptions.*
    • assumeTrue(조건)
      • 파라미터의 값이 true일 때 테스트를 계속 진행하고, false일 때 테스트를 생략하는 것이지 실패하는 것은 아님
    • assumingThat(조건, 테스트)
      • 지정한 가정을 충족한 경우 지정한 검증을 수행
    @Test
    void assumeTrueTest() {
        String test_env = System.getenv("TEST_ENV");
        System.out.println(test_env);
        assumeTrue("LOCAL".equalsIgnoreCase(test_env));

        Study study = new Study(10);
        assertThat(study.getLimit()).isGreaterThan(0);
    }

    @Test
    void assumeThatTest() {
        String test_env = System.getenv("TEST_ENV");

        assumingThat("LOCAL".equalsIgnoreCase(test_env),
                () -> {
                    System.out.println("local");
                    Study study = new Study(10);
                    assertThat(study.getLimit()).isGreaterThan(0);
                });
        assumingThat("DEV".equalsIgnoreCase(test_env),
                () -> {
                    System.out.println("dev");
                    Study study = new Study(20);
                    assertThat(study.getLimit()).isGreaterThan(0);
                });
    }

2. @Enabled__ 와 @Disabled__

  • OS 따라 테스트 실행
    • @EnabledOnOs(OS조건) / @DisabledOnOs(OS조건)
  • 자바 환경변수에 따라 실행
    • @EnabledOnJre(JRE.JAVA_8) / @EnabledOnJre(JRE.JAVA_8)
    @Test
    @EnabledOnOs(OS.WINDOWS)
    void enabledOnOsTest() {
        System.out.println("EnabledOnOs");
    }

    @Test
    @DisabledOnOs(OS.WINDOWS)
    void disabledOnOsTest() {
        System.out.println("DisabledOnOs");
    }

    @Test
    @EnabledOnJre(JRE.JAVA_8)
    void enabledOnJreTest() {
        System.out.println("JAVA_8");
    }

    @Test
    @EnabledOnJre(JRE.OTHER)
    void disabledOnJreTest() {
        System.out.println("JRE_OTHER");
    }
profile
고우고우~

0개의 댓글