Файл конфигурации PHPUnit и файл auto_prepend_file - PullRequest
3 голосов
/ 21 марта 2012

Я пытаюсь использовать файл конфигурации phpunit для установки определенных настроек php-ini.Когда я пытаюсь установить auto_prepend_file в файл, который существует, проверив и относительный путь и абсолютный путь, это не работает.

Я, однако, работаю, если я установил его в файле php-ini.php.ini

[...]
auto_prepend_file=/path/to/project/config.php
[...]

Я пытаюсь загрузить этот файл config.php перед загрузкой моего тестового примера, потому что у меня есть некоторые функции и переменные конфигурации, к которым мне нужен доступ.Может быть, я могу сделать это иначе, чем использовать auto_prepend_file !?Или кто-нибудь знает, как заставить его работать таким образом!?

Файл конфигурации phpunit:

<phpunit>
  [...]
  <php>
    <ini name="auto_prepend_file" value="/path/to/project/config.php" />
  </php>
  [...]
</phpunit>

Заранее спасибо!

1 Ответ

3 голосов
/ 21 марта 2012

Вы можете использовать только теги <ini> для установки значений, которые можно установить из PHP, используя ini_set().

Так что только значения ini PHP_INI_ALL.Директива auto_prepent_file: PHP_INI_PERDIR (, см. Документы ), что означает, что ее нельзя установить, когда процесс php уже запущен.


Длявключая файл перед запуском тестов, у вас есть две опции:

Ether, используйте опцию --bootstrap file_to_run_before_tests_run.php

или используйте php -d auto_prepend_file=yourfile.php /path/to/phpunit для запуска phpunit.

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

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