Вам необходимо изменить реализацию вашего check()
метода
public int check() {
File f = new File("C:\\");
File[] arr = f.listFiles();
return arr.length;
}
Согласно документации listFiles()
он должен содержать каталог, иначе он вернет вам null
. If this abstract pathname does not denote a directory, then this method returns null. Otherwise, an array of File objects is returned, one for each file or directory in the directory. Pathnamesdenoting the directory itself and the directory's parent directory are not included in the result.
Затем вы можете создать свой тестовый класс следующим образом
@ExtendWith(MockitoExtension.class)
public class TestDataService {
@InjectMocks
private DataService dataService;
@Mock
private File f;
@Test
void chett() {
File[] arr = { new File("C://") };
when(f.listFiles()).thenReturn(arr);
assertEquals(1, dataService.check());
}
}
ИЛИ это
@ExtendWith(MockitoExtension.class)
public class TestDataService {
@InjectMocks
private DataService dataService;
@Mock
private File f;
@Test
void chett() {
File[] arr = { new File("C://") };
File ff = Mockito.mock(File.class);
when(ff.listFiles()).thenReturn(arr);
assertEquals(1, dataService.check());
}
}