2012-02-07 6 views
4

すべての変数を定義し、評価する前に配列インデックスをチェックすることがベストプラクティスであると理解しています。しかし、私はこのようにコード化されていないいくつかのレガシーコードの上に開発された新しい機能についていくつかのテストを実行しようとしています。 Behatは、このメッセージで失敗しPHP通知エラーでBehat NOTを失敗させる方法はありますか?

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 [...] 

私は最終的にこれらの通知を修正しますが、私は今のPHPからの通知を無視するBehatを必要としています。それを行う方法はありますか?

ありがとうございます!

+0

ありがとうございました。しかし、注意事項はFeaturesContextファイルのphp.iniと 'error_reporting(E_ERROR | E_WARNING | E_PARSE)'によって隠されています。それでも、Behatは失敗します。 – JuanXarg

+0

あなたはそれを修正したいかもしれませんか? – KingCrunch

答えて

15

編集:これは、Behatのv2.xで動作します。 v> 3.xについては、以下のAlexander Haasの答えを参照してください。

最後に見つけました!コードを掘り下げて、Behatにエラー報告レベルを変更する方法があることが分かりました。ちょうど

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

FeatureContext.phpファイルにしてください。それはトリックです!その後

、私は定数をGoogleで検索してchangelogでこれを見つけた:

  • 私の質問と回答を参照Behat についてerror_repotingレベル
+0

どこに追加しましたか?コンストラクタで?それは正しい方法ですか? – Soullivaneuh

+0

私のために働かない。最初のエラーの後でも停止します。 – kwoxer

+0

どのタイプのエラー?これは、エラー、警告、および構文エラーで停止します。詳細については、http://php.net/manual/en/function.error-reporting.phpを参照してください。 – JuanXarg

関連する問題