有没有办法让 Behat 不会因 PHP 通知错误而失败?

2023-12-12

我知道最好的做法是定义所有变量并在评估之前检查数组索引。但是,我正在尝试对在一些尚未以这种方式编码的遗留代码之上开发的新功能运行一些测试。

Behat 失败并显示以下消息:

  Scenario: Add a new resource                         # features/accounting.feature:6
    Given I am user "admin"                            # FeatureContext::iAmUser()
      Notice: Undefined index: 13 in classloader.php line 126
    When I create a new resource                       # FeatureContext::iCreateANewResource()
    Then [...]

我最终会修复这些通知,但我现在需要 Behat 忽略来自 PHP 的通知。有没有办法做到这一点?

Thanks!


编辑:这适用于 Behat v2.x。对于 v > 3.x,请参阅下面 Alexander Haas 的回答。

终于找到了!通过深入研究代码,我发现 Behat 有一种方法可以更改错误报告级别。做就是了

define('BEHAT_ERROR_REPORTING', E_ERROR | E_WARNING | E_PARSE);

in the FeatureContext.php文件。它确实有效!

之后,我用谷歌搜索了这个常量,并在变更日志:

  • 添加了 BEHAT ERROR_REPORTING 常量来更改 error_reporting 级别
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法让 Behat 不会因 PHP 通知错误而失败? 的相关文章