public class RestoreSystemProperties
extends org.junit.rules.ExternalResource
RestoreSystemProperties
rule undoes changes of system
properties when the test finishes (whether it passes or fails).
Let's assume the system property YourProperty
has the
value YourValue
. Now run the test
public void YourTest { @Rule public final TestRule restoreSystemProperties = new RestoreSystemProperties(); @Test public void overrideProperty() { System.setProperty("YourProperty", "other value"); assertEquals("other value", System.getProperty("YourProperty")); } }After running the test, the system property
YourProperty
has
the value YourValue
again.Modifier and Type | Field and Description |
---|---|
private java.util.Properties |
originalProperties |
Constructor and Description |
---|
RestoreSystemProperties()
Creates a
RestoreSystemProperties rule that restores all
system properties. |
RestoreSystemProperties(java.lang.String... properties)
Deprecated.
Please use
RestoreSystemProperties() . The
rule restores all properties. That's why you don't have to
specify the properties anymore. |
Modifier and Type | Method and Description |
---|---|
void |
add(java.lang.String property)
Deprecated.
Simply remove all calls to this method.
RestoreSystemProperties restores all properties
automatically. That's why you don't have to add the properties
anymore. |
protected void |
after() |
protected void |
before() |
private java.util.Properties |
copyOf(java.util.Properties source) |
@Deprecated public RestoreSystemProperties(java.lang.String... properties)
RestoreSystemProperties()
. The
rule restores all properties. That's why you don't have to
specify the properties anymore.RestoreSystemProperties
rule that restores all
system properties.public RestoreSystemProperties()
RestoreSystemProperties
rule that restores all
system properties.@Deprecated public void add(java.lang.String property)
RestoreSystemProperties
restores all properties
automatically. That's why you don't have to add the properties
anymore.protected void before() throws java.lang.Throwable
before
in class org.junit.rules.ExternalResource
java.lang.Throwable
private java.util.Properties copyOf(java.util.Properties source)
protected void after()
after
in class org.junit.rules.ExternalResource