#java #spring #unit-testing #mockito #powermockito
Вопрос:
У меня есть эти методы
public File getFileDetails(File file){
FileDetailMaker fileDetailMaker = new FileDetailMaker(getFileNumber(File.getName()));
return fileDetailMaker;
}
public String getFileNumber(String fileName){
return fileName.substring(0,fileName.indexOf(".")).substring(0,8);
}
Я пишу тестовый пример для тестирования метода getFileDetails (). Если я протестирую его, создав макет объекта «Файл» и отправив макет «Файла» в качестве аргумента, я получу исключение с нулевым указателем, потому что из макетного файла подстрока не может быть получена.
Я также высмеял создание объекта FileDetailMaker с помощью
FileDetailMaker fileDetailMaker = Mockito.mock(FileDetailMaker.class);
PowerMockito.whenNew(FileDetailMaker.class).withAnyArguments().thenReturn(fileDetailMaker);
Но я все еще получаю исключение нулевого указателя. Поэтому, пожалуйста, не могли бы вы помочь мне с предложениями по этому вопросу
Ответ №1:
добавьте это в свой тестовый случай
PowerMockito.when(file.getName()).thenReturn("filenameisthis.extension");
где файл-это издевательский объект типа файла