Подтвердить что ты не робот

Модульные операции с файлами файлов - где сохранить структуру каталогов?

Я все еще новичок в модульном тестировании, а именно PHPUnit в качестве рамки тестирования.

Предположим, что я создаю unit test для класса загрузчика ресурсов. Класс ищет ресурсы для загрузки в двух каталогах (глобальный и пользовательский).

Чтобы протестировать класс, я хотел бы настроить каталог тестирования, содержащий некоторые файлы ресурсов. Я хотел бы поместить каталог mock в тестовый пакет (пакет является частью веб-приложения, которое будет распространяться.)

Существует ли соглашение о том, где разместить этот тестовый каталог в контексте набора тестов PHPUnit, составленного с использованием файловой системы, как описано здесь?

Есть ли способ (например, константа, определенная PHPUnit при запуске теста) для доступа к такой макетной директории из unit test без указания ее точного местоположения, то есть пути относительно текущего набора тестов? Или я просто использую dirname(__FILE__) и составляю абсолютный путь от этого?

4b9b3361

Ответ 1

Поскольку загрузчик ресурсов ищет файлы в каталогах и вы хотите проверить правильное взаимодействие загрузчика с этими каталогами, вы должны издеваться над файловой системой. Если вы протестируете с помощью реального каталога, вы рискуете выйти извне в эти каталоги, которые могут повлиять на результат теста. Использование vfs также намного быстрее.