Как замокать статический метод FileUtils.copyURLToFile() в Junit 5?
У меня есть метод, в котором я обращаюсь к статическому методу:
File file = new File(UUID.randomUUID().toString());
try {
FileUtils.copyURLToFile(new URL(faceSetVisitorDto.getPhotoLink()), file);
} catch (IOException ex) {
log.error(ex.getMessage(), ex);
return;
}
Подскажите пожалуйста, как можно замокать метод FileUtils.copyURLToFile() в Junit 5
Ответы (1 шт):
Автор решения: Stan
→ Ссылка
Для этого потребуется mockito-inline, для gradle - testImplementation 'org.mockito:mockito-inline:3.6.0' и mockito должен быть >= 3.4.0
Ну и сам кусок теста:
try (MockedStatic mocked = mockStatic(FileUtils.class)) {
mocked.when(FileUtils::copyURLToFile).thenReturn("То что нужно");
mocked.when(() -> FileUtils.copyURLToFile(new URL(faceSetVisitorDto.getPhotoLink()), file)).thenReturn("То что нужно");
assertEquals("То что нужно", FileUtils.copyURLToFile(new URL(faceSetVisitorDto.getPhotoLink()), file));
}
Вроде достаточно наглядно