Конфигурация PHPUnit (phpunit.xml) - загрузка в начальной загрузке?

Ситуация

Мы используем PHPUnit в нашем проекте и используем phpunit.xml для обеспечения таких вещей, как backupGlobals отключен.

Чтобы еще больше убедиться, что путь включения установлен и автозагрузка активна, мы также каскадируем наши тестовые загрузочные файлы. Другими словами, каждый тест и все наборы тестов имеют require_once (__ DIR__. '/../Bootstrap.php'); вверху, вплоть до уровня базовой папки, где он очевидно, читается require_once (__ DIR__. ' /bootstrap.php');, и находится сам файл начальной загрузки.

По сути, наши тесты автономны. Вы можете вызвать любой AllTests.php в любой папке и любой * Test.php отдельно, и они будут работать с правильной конфигурацией.

Кроме номера. ' Подождите минутку. '

Это верно только в том случае, если мы либо заставим наших разработчиков использовать phpunit --configuration = path / to / phpunit.xml , либо они будут в папка с phpunit.xml (так что PHPUnit вытаскивает его из текущего рабочего каталога при запуске).

Иногда это чрезвычайно затрудняет определение того, почему тесты на одной машине разработчика ломаются и почему они работают на другом. Достаточно забыть, что бутстрап - это , а не единственное, что нам нужно, чтобы иметь ту же тестовую среду. Имейте в виду, что, поскольку вы не могли забыть начальную загрузку, если бы вы пытались, потому что она находится в самих тестах, забывая другие настройки, особенно обычно необязательные, подобные этим (если вы находитесь в папке с phpunit.xml , он загружается автоматически), это просто.

На самом деле - это случалось несколько раз.

Вопрос

Могу ли я указать, какой phpunit.xml использовать в запускаемом тестовом файле , например, в нашем широко распространенном файле начальной загрузки , вместо того, чтобы заранее передавать его в PHPUnit , из файла начальной загрузки, если кто-то знает способ.

(Если безрезультатно, практический ответ, который я пойду, вероятно, будет заключаться в копировании phpunit.xml во все подпапки. I ' я бы хотел избежать этого решения, поскольку оно создает избыточные копии, и если мы когда-нибудь решим изменить настройку ... да, ой!)

10
задан Siguza 11 August 2015 в 13:03
поделиться