编程语言
首页 > 编程语言> > PHPUnit配置文件和auto_prepend_file

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