4

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

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 的通知。有没有办法做到这一点?

谢谢!

4

2 回答 2

15

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

终于找到了!通过挖掘代码,我发现 Behat 有办法改变错误报告级别。做就是了

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

FeatureContext.php文件中。它成功了!

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

  • 添加了 BEHAT_ERROR_REPORTING 常量以更改 error_repoting 级别
于 2012-02-09T19:43:58.127 回答
5

对于 Behat 3,请参阅我的问题和答案:How to run Behat tests when there are errors of level E_USER_DEPRECATED

BEHAT_ERROR_REPORTING被丢弃以支持配置值。

于 2015-06-25T20:01:48.830 回答