PHPUnit 显示抛出致命错误异常的传递方法

Posted

技术标签:

【中文标题】PHPUnit 显示抛出致命错误异常的传递方法【英文标题】:PHPUnit showing passed methods that throws Fatal Error Exception 【发布时间】:2019-03-04 09:49:25 【问题描述】:

我在 Netbeans 上遇到 phpUnit 的问题,当方法抛出一些异常(如致命错误或其他东西)时,很少有方法显示为已通过。

因此,PhpUnit 似乎无法处理这些异常,它只是将它们标记为已通过。

这样就好了

$this->assertEquals(true, 1 == 2);

断言 false 与预期的 true 匹配失败。

但如果我添加一些引发异常的代码,那么它只是将其标记为作为示例传递:

 public function testEquals() 
     thisMethodDoesNotExists(5);
 

在不应该出现致命错误的地方将其标记为已通过。

【问题讨论】:

在命令行上运行 phpunit 时结果是否发生了变化? phpunit.readthedocs.io/en/7.3/textui.html @kuromoka 它实际上没有显示任何与 phpunit 测试结果相关的内容它只显示致命错误 PHP 致命错误:未捕获的错误:调用未定义的函数 var_dumb() 此注释可能对您有用。 phpunit.readthedocs.io/en/7.3/… 看起来注释成功了 :) 非常感谢 你可以添加为答案 【参考方案1】:

你可以使用@runInSeparateProcess注解。 请查看详情。https://phpunit.readthedocs.io/en/7.3/annotations.html#runinseparateprocess.

【讨论】:

它通过添加这个注释来工作,你知道我是否可以在netbeans上配置任何选项,所以我不必将此注释添加到所有测试中,我的一个同事不使用注释它仍然对她有用!

以上是关于PHPUnit 显示抛出致命错误异常的传递方法的主要内容,如果未能解决你的问题,请参考以下文章

PhpUnit 未显示 php 致命错误的堆栈跟踪

PhpUnit 未显示 php 致命错误的堆栈跟踪

致命错误:方法 class@anonymous::__toString() 在作曲家安装后不得抛出异常

PHP 异常处理 总出现致命错误 无法捕获异常

phpunit 找不到类,PHP 致命错误

PHPUnit 错误致命错误:调用未定义的方法 Mock_Game_073a8e20::method()