Я создал библиотеку с именем Системные правила для тестирования кода, которая использует java.lang.System.Используя эту библиотеку, вы пишете тесты JUnit, подобные этим:
import static org.junit.Assert.assertEquals;
import org.junit.contrib.java.lang.system.ProvideSystemProperty;
import org.junit.Rule;
import org.junit.Test;
public void MyTest {
@Rule
public ProvideSystemProperty myPropertyHasMyValue
= new ProvideSystemProperty("MyProperty", "MyValue");
@Test
public void propertyIsThere() {
assertEquals("MyValue", System.getProperty("MyProperty"));
}
}
Также можно использовать свойства из файлов свойств:
@Rule
public ProvideSystemProperty properties
= ProvideSystemProperty.fromFile("/home/myself/example.properties");
или
@Rule
public ProvideSystemProperty properties
= ProvideSystemProperty.fromResource("example.properties");