2017-02-15 19 views
0

Как проверить статические методы Java NIO?Как проверить статические методы Java NIO?

У меня есть метод

public Stream<String> getFileInformation(Provider provider) { 
     Path feedDirectoryPath; 
     DirectoryStream<Path> stream; 
     List<Path> files = new ArrayList<>(); 

     try { 

      feedDirectoryPath = getFeedDirectoryPath(); 

      if (!isFileExists(feedDirectoryPath)) { 
       return null; 
      } 

      stream = getDirectoryStream(feedDirectoryPath); 

      for(Path p : stream) { 
       files.add(p); 
      } 

      return Files.lines(Paths.get(files.stream().toString())); 

     } catch (Exception e) { 
      return null; 
     } 
    } 

Я должен проверить этот метод, но как только мой тест прибывает в Files.lines (..), я застрял. Я не знаю, как это утверждать, и, конечно, если бы я передал filePath, как Path filePath = Paths.get («dummy.txt»); Исключено исключение NoSuchFileException. Любая помощь в тестировании этого метода была бы весьма признательна.

ответ

1

Вы можете либо предоставить его фактическому файлу (например, в папке src \ test \ resources, если вы используете maven), либо высмеять статический метод, используя PowerMock. Сначала я бы порекомендовал, что можно загрузить файл (например, относительно вашего тестового класса с помощью classloader) и использовать его в качестве входных данных для тестируемого метода.

+0

Спасибо! Я пробовал первый подход и работал! – Raskill