PHPUnit的:致命错误处理
-
27-09-2019 - |
题
我使用PHPUnit的单元测试,但是当一个的致命错误强>被触发时,该脚本的模具并我没有正确PHPUnit的输出。
我想的是,PHPUnit的输出保持的正确地格式化下,因为它是由为Eclipse插件读取。其实致命错误停止PHPUnit的,并在Eclipse插件不能解释任何东西(因为PHPUnit的脚本中有的错误,而不是处理它)。
由于
解决方案
您需要使用PHPUnit的进程隔离功能 - 在新的进程启动每个测试套件
。phpunit --process-isolation ...
这是为了确保致命错误不会破坏你的PHPUnit输出的唯一途径。
执行时间
进程隔离乘以测试运行时间,因为对于每个单个测试,一个新的PHP实例启动,引导被执行等。
要修正这种情况下,可以选择运行在单独的进程的充分的测试用例(@runTestsInSeparateProcesses
),或仅单个那些已知有时致命出(@runInSeparateProcess
)。
其他提示
的set_error_han dler()将不会帮助你。可以使用 register_shutdown_function()来
捉致命错误不隶属于 StackOverflow