Создание файла только ради модульного теста - PullRequest
4 голосов
/ 01 октября 2008

Это может быть интересный вопрос. Мне нужно проверить это, если я могу успешно загрузить и получить файл PDF. Это работает для текстовых файлов, но я просто хотел проверить PDF. Для этого модульного теста мне нужен файл PDF. Есть несколько вариантов. Я могу создать фиктивный PDF-файл и сохранить его в какой-нибудь папке, прочитать этот файл и сохранить файл в системе. Но теперь мой модульный тест зависит от файла PDF. Таким образом, любой, кто запускает модульное тестирование, должен иметь PDF-файл, что довольно плохо.

Другой способ для меня - создать файл PDF. Это не имеет большого значения, так как я могу просто создать фиктивный файл с расширением .pdf ИЛИ даже использовать какой-нибудь сторонний инструмент PDF для создания PDF-файла.

Другим способом также является встраивание документа PDF в качестве встроенного ресурса, а затем извлечение его из сборки.

Какой способ решения этой проблемы вы считаете лучшим?

Ответы [ 5 ]

7 голосов
/ 01 октября 2008

Сохраните файл PDF с вашими тестами в каталоге ресурсов. Ваши тесты должны быть максимально простыми, а создание файла - это еще один момент, который может не сработать.

1 голос
/ 01 октября 2008

Добавление файла pdf (или файла-пустышки с расширением pdf) к ресурсам - это путь. Вы должны иметь доступ к нему по относительному пути (например, .... \ bla \ foo.pdf) из своего тестового модуля.

И не пытайтесь создать действительный pdf-файл только для того, чтобы проверить, есть ли у вас права на чтение или запись. Принцип KISS применяется ...

1 голос
/ 01 октября 2008

Я думаю, что лучше иметь дело с "реальными" объектами как можно больше. Введение «фиктивных» (в данном случае это не точный термин) объектов может помочь, только если обработка тестового набора данных невозможна. Я не думаю, что размещение тестового файла в вашей системе контроля версий - это большое дело, поэтому лучше идти с ним, чем писать много кода, который может привести к другим ошибкам и тестированию.

Используйте также файл PDF, очень близкий к ожидаемому среднему файлу.

1 голос
/ 01 октября 2008

Обычно я добавляю настоящий файл вместе с дополнительными тестами, которые требуют внешнего контента. Таким образом, вы тестируете с помощью реального файла и можете легко заменить его для различных типов тестирования контента.

0 голосов
/ 01 октября 2008

Меня беспокоит то, что если я помещу файл в другой каталог ... скажем, ресурсы в модульных тестах, тогда мне не нужен полный путь к файлу для доступа к нему. Я запускаю свои тесты вручную. Кроме того, когда я перехожу на другой компьютер и помещаю свое решение в папку с другим именем, путь к файлу портится.

Если есть какой-то способ, которым я могу получить доступ к папке проекта из моего приложения (должно быть).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...