我使用PHPUnit的单元测试,但是当一个的致命错误被触发时,该脚本的模具并我没有正确PHPUnit的输出。

我想的是,PHPUnit的输出保持的正确地格式化下,因为它是由为Eclipse插件读取。其实致命错误停止PHPUnit的,并在Eclipse插件不能解释任何东西(因为PHPUnit的脚本中有的错误,而不是处理它)。

由于

有帮助吗?

解决方案

您需要使用PHPUnit的进程隔离功能 - 在新的进程启动每个测试套件

phpunit --process-isolation ...

这是为了确保致命错误不会破坏你的PHPUnit输出的唯一途径。

执行时间

进程隔离乘以测试运行时间,因为对于每个单个测试,一个新的PHP实例启动,引导被执行等。

要修正这种情况下,可以选择运行在单独的进程的充分的测试用例(@runTestsInSeparateProcesses),或仅单个那些已知有时致命出(@runInSeparateProcess)。

其他提示

的set_error_han dler()将不会帮助你。可以使用 register_shutdown_function()来

捉致命错误
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top