PHPUnit : 致命错误处理执行时间
2022-08-30 19:59:20
我使用PHPUnit进行单元测试,但是当触发致命错误时,脚本会死,我没有正确的PHPUnit输出。
我希望PHPUnit输出保持正确的格式,因为它是由Eclipse的插件读取的。实际上,致命错误会阻止PHPUnit,并且在Eclipse中,插件无法解释任何内容(因为PHPUnit脚本有错误,而不是处理它)。
谢谢
我使用PHPUnit进行单元测试,但是当触发致命错误时,脚本会死,我没有正确的PHPUnit输出。
我希望PHPUnit输出保持正确的格式,因为它是由Eclipse的插件读取的。实际上,致命错误会阻止PHPUnit,并且在Eclipse中,插件无法解释任何内容(因为PHPUnit脚本有错误,而不是处理它)。
谢谢
您需要使用PHPUnit的进程隔离功能 - 在新进程中启动每个测试套件。
phpunit --process-isolation ...
这是确保致命错误不会破坏phpunit输出的唯一方法。
进程隔离会使测试运行时间成倍增加,因为对于每个测试,都会启动一个新的PHP实例,执行引导等。
若要修正此情况,您可以选择在单独的进程中运行完整的测试用例 (),或者只运行已知有时致命的单个测试用例 ()。@runTestsInSeparateProcesses
@runInSeparateProcess