有没有办法让Behat在PHP Notice错误上失败?

时间:2012-02-07 22:04:33

标签: php notice behat

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

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

谢谢!

2 个答案:

答案 0 :(得分:15)

编辑:这适用于Behat的v2.x.对于v> 3.x见下面的亚历山大哈斯答案。

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

define('BEHAT_ERROR_REPORTING', E_ERROR | E_WARNING | E_PARSE);
<{1>}文件中的

。这样做诀窍!

之后,我用Google搜索了常量并在changelog中找到了它:

  • 添加了BEHAT_ERROR_REPORTING常量以更改error_repoting级别

答案 1 :(得分:5)

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

BEHAT_ERROR_REPORTING被弃用,以支持配置值。