특정한 OS, 특정한 자바 버전, 환경 변수, 시스템 변수에 따라 실행하거나 실행하지 말아야하는 복잡한 경우를 의미합니다.
import static org.junit.jupiter.api.Assumptions.assumeTrue; //...1
@Test
@DisplayName("로컬인 경우에만 테스트를 실행")
void create_new_study_1() {
String test_env = System.getenv("TEST_ENV"); //...2
System.out.println(test_env);
assumeTrue("LOCAL".equalsIgnoreCase(test_env)); //...3
Study study = new Study(10);
assertThat(study.getLimit()).isGreaterThan(0);
}
TEST_ENV 의 값이 LOCAL 이 아니면 다음 라인에 있는 테스트를 실행하지 않습니다.

인텔리제이에서 환경 변수 TEST_ENV=LOCAL로 설정하면 제대로 실행되는 것을 볼 수 있습니다.

<aside> ❗ 리눅스 환경 변수 설정
$ export 환경변수명=값
/etc/bash.bashrc 파일 수정
저는 MacOS에서는 Z shell을 사용하고 있습니다.
그래서 vim ~/.zshrc 명렁어를 사용해서 .zshrc 파일에 환경 변수를 적용해주면 됩니다.
참고로 ~는 사용자의 홈 디렉토리를 의미하고 /는 절대경로를 의미합니다.
그리고 인텔리제이가 켜질 때 환경 변수를 불러오기 때문에 인텔리제이를 다시 켜지 않으면 변경한 환경 변수가 적용되지 않습니다.
$ env
$ env | grep 환경변수명
$ unset 환경변수명
</aside>