PHPunit Symfony退出255而没有--process-isolation

时间:2017-06-10 15:34:41

标签: php symfony unit-testing phpunit

我有一个Symfony 3应用程序,我正在尝试使用PHPunit运行功能测试,我会在每次测试中加载灯具。

目前,测试将以代码255静默失败,没有输出或日志显示失败的原因。即使我已经用尽所有可能的PHP配置,试图让它输出更多信息。

如果我自己运行失败的测试,它会通过。 如果我立刻运行整个套件,它将失败。 如果我删除了失败的测试,那么在测试之后它仍将失败。

它传递的唯一方法是使用--process-isolation标志,但这会显着减慢测试速度。

相关的php.ini配置:

memory_limit = -1
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
log_errors = On

有没有人有类似的问题,可能知道解决方案?

1 个答案:

答案 0 :(得分:0)

PHPUnit可能会返回错误代码但没有任何输出。它发生在发生PHP错误并且错误未配置为显示时。

在将log_errors指令设置为On时,您应该查看系统日志以查找来自PHP的错误消息。

如果日志为空

首先,您必须检查您希望加载的php.ini文件是否正确。

根据您的系统,PHP可能会加载a different configuration file for CGI/CLI

您还可以使用以下命令在CLI中显示已加载的配置文件:

$ php --ini

Configuration File (php.ini) Path: /etc/php
Loaded Configuration File:         /etc/php/php-cli.ini
Scan for additional .ini files in: /etc/php/conf.d
Additional .ini files parsed:      /etc/php/conf.d/xdebug.ini

然后,您需要检查error_log configuration directive,因为它定义了日志的写入位置。