org.junit.rules.TestRulepublic class EnvironmentVariables
extends java.lang.Object
implements org.junit.rules.TestRule
EnvironmentVariables rule allows you to set environment variables
for your test. All changes to environment variables are reverted after the
test.
public class EnvironmentVariablesTest {
@Rule
public final EnvironmentVariables environmentVariables = new EnvironmentVariables();
@Test
public void test() {
environmentVariables.set("name", "value");
assertEquals("value", System.getenv("name"));
}
}
Common variables can be set directly after creating the rule
public class EnvironmentVariablesTest {
@Rule
public final EnvironmentVariables environmentVariables = new EnvironmentVariables()
.set("name", "value");
@Test
public void test() {
assertEquals("value", System.getenv("name"));
}
}
You can ensure that some environment variables are not set by calling
clear(String...).
Warning: This rule uses reflection for modifying internals of the
environment variables map. It fails if your SecurityManager forbids
such modifications.
| Constructor | Description |
|---|---|
EnvironmentVariables() |
| Modifier and Type | Method | Description |
|---|---|---|
org.junit.runners.model.Statement |
apply(org.junit.runners.model.Statement base,
org.junit.runner.Description description) |
|
EnvironmentVariables |
clear(java.lang.String... names) |
Delete multiple environment variables.
|
EnvironmentVariables |
set(java.lang.String name,
java.lang.String value) |
Set the value of an environment variable.
|
public EnvironmentVariables set(java.lang.String name, java.lang.String value)
name - the environment variable's name.value - the environment variable's new value. May be null.public EnvironmentVariables clear(java.lang.String... names)
names - the environment variables' names.public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base,
org.junit.runner.Description description)
apply in interface org.junit.rules.TestRuleCopyright © 2011–2018. All rights reserved.