PHPUnit配置文件和auto_prepend_file
作者:互联网
我正在尝试使用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>
提前致谢!
解决方法:
您只能使用< ini>标记来设置可以在PHP中使用ini_set()设置的值.
因此,只有ini值为PHP_INI_ALL. auto_prepent_file伪指令为PHP_INI_PERDIR(see the docs),表示在php进程已经运行时无法设置.
要在运行测试之前包含文件,您有两个选择:
醚使用–bootstrap file_to_run_before_tests_run.php选项
或使用php -d auto_prepend_file = yourfile.php / path / to / phpunit运行phpunit.
两种方式都可以确保在执行任何测试之前执行文件内容,而–bootstrap是更常见的方式.
标签:phpunit,php 来源: https://codeday.me/bug/20191201/2081872.html