Я все еще плохо знаком с Поблочным тестированием и конкретно PHPUnit как среда тестирования.
Предположим, что я создаю модульный тест на класс загрузчика ресурса. Класс ищет ресурсы для загрузки в двух каталогах (глобальное и определенное для пользователя).
Для тестирования класса я хотел бы настроить ложный каталог тестирования, содержащий некоторые файлы ресурсов. Я хотел бы поместить ложный каталог где-нибудь в наборе тестов (комплект является частью веб-приложения, которое будет распределено.)
Существует ли конвенция для того, куда поместить этот каталог тестирования в контекст набора тестов PHPUnit, составленного с помощью файловой системы, как обрисовано в общих чертах здесь?
Существует ли путь (например, константа, определенная PHPUnit, когда это запускает тест) получить доступ к такому ложному каталогу из модульного теста, не имея необходимость указывать его точное местоположение, т.е. путь относительно текущего набора тестов? Или сделайте я просто использую dirname(__FILE__)
и составьте полный путь из этого?
Поскольку загрузчик ресурсов ищет файлы в каталогах, и вы хотите проверить правильное взаимодействие загрузчика с этими каталогами, вы должны имитировать файловую систему. Если вы тестируете с реальным каталогом, вы рискуете внешними изменениями в этих каталогах, которые могут повлиять на результат теста. Использование vfs также намного быстрее.