2016-06-02 11 views
3

私が知っているように、@Beforeフックはすべてのシナリオの前に実行されていますが、今は背景タグで会ったことがあります。独自のステップ以外の@Beforeタグとまったく同じ機能です。 誰でも実際の生活の中でdiff.sが何であるか説明できますか? Beforeの代わりにBackgroundを使用しなければならないときは?(キュウリ)背景と前のタグの違いは何ですか?

答えて

3

Cucumber documentationによると、ここでBeforeが何をするかです:フックの前に

は、各シナリオの最初のステップの前に実行されます。それらは が登録されているのと同じ順序で実行されます。

そして、ここではBackgroundが何をするかです:

背景には、あなたは、単一の機能でシナリオにいくつかのコンテキストを追加することができます。背景は、 のステップ数を含むシナリオに非常に似ています。違いは、それが実行されるときです。背景はそれぞれのシナリオの前で、Before Hooksの後に実行される です。

実際、すでに気付いているように、それらの構造は少し異なります。 一般的な方法は、次のようにそれらを使用することです:

  • 使用Backgroundあなたのシナリオの前にいくつかの技術的な設定をしなければならないとき、あなたのシナリオ
  • 使用Beforeに顧客可読事前条件を提供

しかし、ここで理解するための主なものは、操作の順序です:フック1の前に

- >フックの前に2 - > ... - >背景 - >シナリオ

これらは、さまざまなレベルの事前条件を表しているに過ぎません。

関連する問題