【1】System Rulesを使う
■ 設定
http://stefanbirkner.github.io/system-rules/download.html
に記載。今回は、Gradleを使う。
build.gradle
dependencies {
// Use JUnit test framework
testImplementation 'junit:junit:4.12'
// System Rules
testCompile 'com.github.stefanbirkner:system-rules:1.17.0'
}
■ サンプル
import static org.junit.Assert.*;
import org.junit.Rule;
import org.junit.Test;
import org.junit.contrib.java.lang.system.EnvironmentVariables;
public class SampleTest {
@Rule
public final EnvironmentVariables environmentVariables = new EnvironmentVariables();
@Test
public void test() {
environmentVariables.set("ENV_KEY", "dummy01");
assertEquals("dummy01", System.getenv("ENV_KEY"));
}
}
■ 使用上の注意
* 環境変数を設定したら、別のテストメソッドにも反映される(以下の「サンプル」参照)
サンプル
import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.contrib.java.lang.system.EnvironmentVariables;
public class SampleTest {
@Test
public void test1() {
EnvironmentVariables environmentVariables = new EnvironmentVariables();
environmentVariables.set("ENV_KEY", "dummy01");
assertEquals("dummy01", System.getenv("ENV_KEY"));
}
@Test
public void test2() {
assertNull(System.getenv("ENV_KEY")); // ★エラー★(test1()で設定した値「dummy01」が返ってくる)
}
}