如何傳遞自定義php.ini給phpunit?將自定義php.ini傳遞給phpunit
源使用
get_cfg_var
,而不是
ini_get
所以很遺憾它不使用通過的ini_set,-d選項設置等值
只有這樣,才能傳遞值現在是使用額外的php.ini。我如何將它傳遞給phpunit?
血淋淋的細節:
我試圖通過與-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---";
}
它只是呼應 「---測試---」
原因是這樣使用的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);
}
}
}
另外在phpunit.xml,我有
<php>
<ini name="SIEF_VALIDATOR_DOC_ROOT" value="bar"/>
</php>
不工作[我不指望它。
我不認爲phpunit將它傳遞給php - 請參閱我上面的編輯。 – Fakrudeen
我確認,它不會從代碼工作 - https://github.com/sebastianbergmann/phpunit/blob/master/PHPUnit/TextUI/Command.php – Fakrudeen
@Fakrudeen:我添加了一個替代品,沒有問題來調用phpunit辦法。 – hakre