Конструктор Mock of File не работает, когда я отлаживаю свой тест. Я все еще получаю реальный экземпляр File вместо поддельного объекта. что я пропускаю?
Class MyClass {
void methodToTest() {
File file = new File(rootPath);
File[] files = file.listFiles();
...
}
}
@RunWith(PowerMockRunner.class)
@PrepareForTest(MyClass.class)
Class MyClassTest {
void myTestMethod() {
File[] mockedFiles = new File[1];
File file0 = Mockito.mock(File.class);
doReturn("123.zip.").when(file0).getName();
mockedFiles[0] = file0;
File rootFile = Mockito.mock(File.class);
String rootPath = "\\home";
//This line does not seem to work
whenNew(File.class).withParameterTypes(String.class).withArguments(rootPath).thenReturn(rootFile
);
doReturn(mockedFiles).when(rootFile).listFiles();
...
new MyClass().methodToTest();
...
}
}