Hw, чтобы издеваться над следующим методом listfiles()
?Mocking file objects Mockito или Powermock?
File folder = new File(folderPath);
for (File fileEntry : folder.listFiles()) {
try {
if (StringUtils.isBlank(fileEntry.toString())) {
throw new ConfigurationException("Sfile must be set");
}
String json = resourceReader.readResource(fileEntry.toString());
try {
config.add(parser.parseJson(json));
} catch (Exception e) {
LOG.error("Error in parsing json");
}
} catch (Exception e) {
throw new ServiceException("Could not parse sfrom the file: " +
fileEntry.getName(), e);
}
}
Что не так с возвращением некоторого 'Iterable'? Какова конкретная проблема, с которой вы столкнулись? –
Turing85
Я делаю что-то вроде этого. @Mock File mockFile = Mockito.mock (File.class); Файл [] files = {admin, database}; Mockito.when (mockFile.listFiles()). ThenReturn (файлы); – Yahiya
Если вы используете Powermock, вы можете получить его, чтобы вернуть mock 'File', когда вызывается' new File (...) '. Или вы можете изменить свой код, чтобы получить фабрику, чтобы вернуть ваш файл (или передать его в качестве параметра, вы можете передать макет из вашего модульного теста и издеваться над 'listFiles') – BretC