Существует класс java, он основан на шаблоне Singleton. как сделать модульный тест для этого класса? следующий мой код:как выполнить единичный тест для шаблона Singleton с использованием jmockit
public class ConfigFromFile implements ConfigStrategy {
private String endpoint;
private final static String CONFIG_FILE = "/conf/config.properties";
private InputStream getInputStream(String configFilePath) throws FileNotFoundException{
return new FileInputStream(configFilePath);
}
private void initFromFile() {
Properties prop = new Properties();
InputStream input = null;
try {
input = getInputStream(CONFIG_FILE);
prop.load(input);
endpoint = prop.getProperty("endpoint");
} catch(Exception e) {
e.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
}
}
}
}
private ConfigFromFile() {
initFromFile();
}
private static class ConfigFromFileHolder {
private static ConfigFromFile instance = new ConfigFromFile();
}
public static ConfigFromFile getInstance() {
return ConfigFromFileHolder.instance;
}
@Override
public String getEndpoint() {
return endpoint;
}
}
Мне нужно написать модульный тест для этого класса.
- единичный тест не может вызвать внешний ресурс, поэтому нам нужно высмеять файл «/conf/config.properties». мы можем использовать jmockit.
- Этот класс основан на шаблоне Singleton. Мы надеемся, что взаимодействие между этими двумя делами не может быть затронуто.
Ниже мой случай:
- Случай 1., это обычный случай, содержимое файла «конечная точка = www.baidu.com»
- Вариант 2, это ненормальный случай, мы может издеваться над этим файлом не существует.
как реализовать эти случаи? Благодаря!
@namshubwriter вы пропустили ошибку Singleton в своем редактировании. – Fuhrmanator
@Fuhrmanator Обычно я улучшаю форматирование при редактировании вопросов. – NamshubWriter