2016-07-12 11 views
1
@Before 
    public void quit_if_tagged_scenario_failed(Scenario scenario) { 
    if (!isTagged(scenario) && prevScenarioFailed) 
     throw new IllegalStateException("An important scenario has failed!  Cucumber wants to quit."); 
    } 

私はこの方法を使用して、前のシナリオが失敗したかどうかを確認しています。失敗した場合、そのフィーチャファイル内のすべてのシナリオをスキップします。ここでの問題は、フィーチャファイル内の最後のシナリオが失敗し、次のフィーチャの最初のステップが失敗するという2つのフィーチャファイルを実行している場合です。過去のフィーチャファイルに失敗しました。あなたはそのような状況に対処する方法を知っていますか? あなたの助けに感謝します。キュウリ機能ファイルが実行されたかどうかを調べる方法は?任意のJavaメソッド?

+1

キュウリはシナリオ間の依存関係をサポートするようには設計されていません –

答えて

3

キュウリのシナリオはお互いに依存すべきではありません。

キュウリのベストプラクティスによると、シナリオ間のカップリングは一切ありません。つまり、シナリオの間に存続する状態は存在しないはずです。

これは悪い習慣である例と同じように、1つのシナリオステップがデータベースにレコードを追加し、その後のシナリオがそのレコードの存在に依存するケースを考えてみましょう。これはうまくいくかもしれませんが、シナリオが変更を実行する順番が並行して実行されている場合に問題が発生します。

カップリングを避けるために、アプローチを見直して、シナリオをさまざまに定義する方法を確認してください。がんばろう。

関連する問題