2012-06-29 3 views
0

Мне нужно покрыть некоторые тесты с помощью JUnit. Мой метод возвращает java.io.File. Какие атрибуты мне нужно проверить?Как проверить файлы в jUnit?

  • проверить размер файла?
  • проверить имя файла?
  • проверка ...?

Как вы пишете тесты JUnit для методов, которые работают с файлами? Есть ли рамки?

+0

Извините, вы должны дать немного больше, чем это, чтобы мы могли вам помочь. Что именно вы хотите проверить? –

ответ

3

Метод возвращает java.io.File. Каков наилучший способ проверить это?

Нет «лучшего способа». Это полностью зависит от того, что должен содержать файл, и что вам нужно проверить.

В различных ситуациях я мог бы проверить, что:

  • File аргумент не равен нулю,
  • Путь к файлу, кодируемый File имеет заданное значение,
  • соответствующий файл существует,
  • соответствующий файл дал длину или количество строк,
  • Соответствующий файл содержит заданную строку (или строки) или шаблон (узоры),
  • содержимого файла точно соответствует файлу ожидаемого результата,
  • содержимого файла разбирает в ту же структуру данных, как другой файл, или
  • содержимого файла разбирает в некоторой структуру данных, что некоторые другие свойства.
+0

Его более чем достаточно. Благодаря! –

+0

Метод возвращает файл конфигурации XML. –

+0

Все зависит от контекста. Как и то, как создается файл, и что вы думаете об этом, нужно протестировать. –

1

Каждое испытание должно быть основано на требовании. Например, это можно утверждать, что метод возвращает имя несуществующего файла, который может быть безопасно создан - модульный тест должен проверить, что на самом деле нет такого файла:

assertTrue(!file.isDirectory() && !file.canRead()) 

Когда требования говорят о том, что файл Возвращается файл с некоторыми свойствами , вы должны проверить точно заявленные свойства. Например, в соответствии с требованиями в позиции 3 вы обнаруживаете символ «@». Так что ваш тест должен проверить:

  1. Файл существует на самом деле, можно прочитать
  2. Poistion 3 действительно содержит ожидается символ
+0

Спасибо! Уже сделано. –

2

Если вы хотите создать несколько временных файлов для запуска тестов, тогда вы должны попробовать JUnit Rules с помощью TemporaryFolder.

Here - пример.

Это способ подготовить ваши тесты с необходимыми файлами.

Но все сводится к тому, что вы на самом деле хотите сделать, и ваш вопрос не дает много подсказок ...

+0

Мне просто нужно проверить правильность возврата файла. –

Смежные вопросы