Мне нужна помощь с блоком тестирования. Я хочу высмеять статический метод write(Path path, byte[] bytes, OpenOption... options)
java.nio.file.Files
класс.Любой способ издеваться над методом Files.write (...)?
Я пробовал например. таким образом:
PowerMockito.doReturn(path).when(Files.class, "write", path, someString.getBytes());
В этом случае метод не найден.
PowerMockito.doReturn(path).when(Files.class, PowerMockito.method(Files.class, "write", Path.class, byte[]
.class, OpenOption.class));
На этот раз у меня есть UnfinishedStubbingException
.
Как я могу это исправить?
Почему бы не использовать поддельную 'FileSystem', как вы должны? Издевательские статические методы уже являются основным запахом. –
Seconding Louis - встроенные инструменты для файловой системы Java не подходят для насмешек даже при использовании таких инструментов, как PowerMockito, для ограничения ограничений Mockito. –
Спасибо Луи. Я использовал способ, которым вы предложили, и я использовал библиотеку [this] (https://github.com/marschall/memoryfilesystem) для создания файловой системы в памяти. Это лучшее решение для меня. –