PHPUnit : Fatal error handling

标签 php error-handling phpunit fatal-error

我使用 PHPUnit 进行单元测试,但是当触发 fatal error 时,脚本死亡,我没有正确的 PHPUnit 输出。

我希望 PHPUnit 输出保持格式正确,因为它是由 Eclipse 插件读取的。实际上, fatal error 会停止 PHPUnit,并且在 Eclipse 中插件无法解释任何内容(因为 PHPUnit 脚本错误,而不是处理它)。

谢谢

最佳答案

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

phpunit --process-isolation ...

这是确保 fatal error 不会破坏您的 phpunit 输出的唯一方法。

执行时间

进程隔离会成倍增加您的测试运行时间,因为对于每个单独的测试,都会启动一个新的 PHP 实例,执行 Bootstrap 等。

要改变这种情况,您可以选择在单独的进程中运行完整的测试用例 (@runTestsInSeparateProcesses),或者只运行已知有时会致命的单个测试用例 (@runInSeparateProcess)。

关于PHPUnit : Fatal error handling,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3841190/

相关文章:

c# - 大型接口(interface)的统一错误处理

powershell - 捕获 PowerShell 工作流程中的错误

PHP 创建 PHPUNIT.XML 文件

PHP 和 HTML CSS 标签

php - 如何判断用户是通过哪些关键词来到页面的?

php - 为什么这个 PHP 代码不起作用?

php - PHPunit 测试模拟 getRequest->getHeader ('referer' 的正确方法)

php - 检测没有显式登录的 Facebook 用户

javascript - 停止将大型数组的数组转换为对象

laravel - 如何在 Laravel 5.4 中使用 ask() 测试 Artisan 命令