BackEnd/JUnit

JUnit 5. 조건문

hanseom 2022. 1. 31. 11:47
반응형

  Assumptions는 테스트 메소드가 특정 조건에 대해서만 실행하고자 할 때 사용합니다.

  • assumeTrue(조건)
  • asuumeFalse(조건)
  • assumingThat(조건, 테스트)

 

  @Enabled___ 와 @Disabled___ 는 특정 환경에 대해서만 테스트를 실행하고자 할 때 사용합니다.

  • OnOS: 특정 OS 에서만 실행합니다.
  • OnJre: 특정 Jre 버전에서만 실행합니다.
  • IfEnvironmentVariable: 특정 환경변수 값에서만 실행합니다.
package com.java.JUnit5;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.*;

import static org.junit.jupiter.api.Assumptions.*;

public class AssumptionTests {

    @Test
    void assumeTrueTest() {
        String trueOrFalse = "true";
        assumeTrue(trueOrFalse.equalsIgnoreCase("true"));
        System.out.println("다음을 실행합니다.");
    }

    @Test
    void assumeFalseTest() {
        String trueOrFalse = "true";
        assumeFalse(trueOrFalse.equalsIgnoreCase("true"));
        System.out.println("다음을 실행하지 않습니다.");
    }

    @Test
    void assumingThatTest() {
        String trueOrFalse = "true";

        assumingThat(trueOrFalse.equalsIgnoreCase("true"), () -> {
            System.out.println("true인 경우 실행됩니다.");
        });

        assumingThat(trueOrFalse.equalsIgnoreCase("false"), () -> {
            System.out.println("false인 경우 실행됩니다.");
        });
    }

    @Test
    @EnabledOnOs({OS.MAC, OS.WINDOWS})
    void annotationOnOSTest() {
        System.out.println("특정 OS에서만 실행됩니다.");
    }

    @Test
    @EnabledOnJre(JRE.JAVA_16)
    void annotationOnJreTest() {
        System.out.println("특정 JRE Version에서만 실행됩니다.");
    }

    @Test
    @EnabledIfEnvironmentVariable(named = "TEST_ENV", matches = "LOCAL")
    void annotationIfEnvironmentVariableTest() {
        System.out.println("환경변수: TEST_ENV 값이 LOCAL인 경우만 실행됩니다.");
    }
}

 

 

 

 

 

반응형