org.junit.contrib.java.lang.system
Class RestoreSystemProperties

java.lang.Object
  extended by org.junit.rules.ExternalResource
      extended by org.junit.contrib.java.lang.system.RestoreSystemProperties
All Implemented Interfaces:
org.junit.rules.TestRule

public class RestoreSystemProperties
extends org.junit.rules.ExternalResource

The 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.


Constructor Summary
RestoreSystemProperties()
          Creates a RestoreSystemProperties rule that restores all system properties.
RestoreSystemProperties(String... properties)
          Deprecated. Please use RestoreSystemProperties(). The rule restores all properties. That's why you don't have to specify the properties anymore.
 
Method Summary
 void add(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()
           
 
Methods inherited from class org.junit.rules.ExternalResource
apply
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RestoreSystemProperties

@Deprecated
public RestoreSystemProperties(String... properties)
Deprecated. Please use RestoreSystemProperties(). The rule restores all properties. That's why you don't have to specify the properties anymore.

Creates a RestoreSystemProperties rule that restores all system properties.


RestoreSystemProperties

public RestoreSystemProperties()
Creates a RestoreSystemProperties rule that restores all system properties.

Since:
1.8.0
Method Detail

add

@Deprecated
public void add(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.

Does nothing.

Since:
1.6.0

before

protected void before()
               throws Throwable
Overrides:
before in class org.junit.rules.ExternalResource
Throws:
Throwable

after

protected void after()
Overrides:
after in class org.junit.rules.ExternalResource


Copyright © 2011–2018. All rights reserved.