我正在尝试使用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>
提前致谢!
答案 0 :(得分:3)
您只能使用<ini>
标记设置可以使用ini_set()
在PHP中设置的值。
所以只有PHP_INI_ALL
的ini值。 auto_prepent_file
指令是PHP_INI_PERDIR
(see the docs),这意味着当php进程已经运行时无法设置它。
Ether使用--bootstrap file_to_run_before_tests_run.php
选项
或使用php -d auto_prepend_file=yourfile.php /path/to/phpunit
运行phpunit。
这两种方法都可以确保在执行任何测试之前执行文件内容,--bootstrap
是更常见的方法。