¿Cómo pasar un php.ini personalizado a phpunit?
La fuente usa
get_cfg_var
en lugar de
ini_get
Desafortunadamente, no usa los valores establecidos por la opción ini_set, -d, etc.
La única manera de pasar el valor ahora es usar un php.ini adicional. ¿Cómo paso eso a phpunit?
Detalles de Gory:
Intenté pasar con -d
phpunit --filter testgetdesc -d SIEF_VALIDATOR_DOC_ROOT="htdocs" --configuration tests/phpunit.xml tests/configHelperTest.php public function testgetdesc() { echo get_cfg_var("SIEF_VALIDATOR_DOC_ROOT")."---test---"; }
Simplemente hace eco de “— prueba —”
La razón es que esto también usa ini_set:
https://github.com/sebastianbergmann/phpunit/blob/master/PHPUnit/TextUI/Command.php
case 'd': { $ini = explode('=', $option[1]); if (isset($ini[0])) { if (isset($ini[1])) { ini_set($ini[0], $ini[1]); } else { ini_set($ini[0], TRUE); } } }
También en phpunit.xml, tengo
que no funciona [y no lo espero].
-d
debería funcionar porque get_cfg_var
lee ésos:
$ php -d display.errors2=1 -r "echo get_cfg_var('display.errors2');" 1
Para pasar una configuración ini personalizada (o, alternativamente, el archivo ini con -c
a phpunit), invocarlo configurado:
$ php -d setting=value `which phpunit`
Ver también: php --help
, http://www.phpunit.de/manual/3.6/en/appendixes.configuration.html
El problema de Github recomienda usar el indicador -c
.
php -c custom-php.ini `which phpunit` ...