Поддерживает ли JUnit файлы свойств для тестов?
У меня есть тесты JUnit, которые нужно запускать в различных различных промежуточных средах. Каждая из сред имеет разные учетные данные для входа или другие аспекты, характерные для этой среды. Мой план состоит в том, чтобы передать переменную окружения в виртуальную машину, чтобы указать, какую среду использовать. Затем используйте этот var для чтения из файла свойств.
Есть ли у JUnit какие-либо возможности для создания файла .properties?
Ответы
Ответ 1
java имеет встроенные возможности для чтения файла .properties, а JUnit имеет встроенные возможности запуска кода установки перед выполнением набора тестов.
Свойства чтения java:
Properties p = new Properties();
p.load(new FileReader(new File("config.properties")));
junit startup documentation
поместите эти 2 вместе, и вы должны иметь то, что вам нужно.
Ответ 2
Обычно рекомендуется использовать относительные файлы класса для свойств unit test, поэтому они могут запускаться, не беспокоясь о путях файлов. Путь может быть другим в вашем блоке dev, или сервере сборки, или где-либо когда-либо. Это также будет работать от ant, maven, eclipse без изменений.
private Properties props = new Properties();
InputStream is = ClassLoader.getSystemResourceAsStream("unittest.properties");
try {
props.load(is);
}
catch (IOException e) {
// Handle exception here
}
поместив файл "unittest.properties" в корень пути к классам.
Ответ 3
Не можете ли вы просто прочитать файл свойств в вашем методе настройки?
Ответ 4
//
// Load properties to control unit test behaviour.
// Add code in setUp() method or any @Before method (JUnit4).
//
// Corrected previous example: - Properties.load() takes an InputStream type.
//
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
Properties p = new Properties();
p.load(new FileInputStream( new File("unittest.properties")));
// loading properties in XML format
Properties pXML = new Properties();
pXML.loadFromXML(new FileInputStream( new File("unittest.xml")));