1

feature1.feature と feature2.feature の 2 つの機能ファイルがあります。feature1.feature では、フィールド値を作成し、それを FeatureContext.Current に追加しています。feature2.feature からその値にアクセスする可能性はありますか?

特定の機能の実行が完了すると、FeatureContext クラスがクリアされることを私は知っています。2 つの異なる機能ファイル間で値にアクセスする他の方法はありますか?

いくつかのアイデアを提案してください。

前もって感謝します。

4

2 に答える 2

2

その設定に対して強くお勧めします。これにはいくつかの理由があります。

  • 技術的な理由: SpecFlow は、シナリオのいずれかの機能を実行する順序を保証しません。常に同じであるとは信じられません。
  • ビジネス上の理由: あなたが書いているシナリオは、何よりもまずコミュニケーション ツールです。あなたはそれらを自分で簡単に理解できるようにしたいと考えています。特定のシナリオについて話すとき、この特別なケースが何をするかを理解するために、機能の他のシナリオを読む必要はありません。シナリオに関するコミュニケーションが妨げられます。

読みやすくするために、各シナリオで情報を複製することをお勧めします。各シナリオで多くの情報が繰り返される場合は、 Gherkinの Background-feature を使用できます。これらの手順は、機能ファイル内のすべてのシナリオの前に 1 回実行され、繰り返し実行するために使用できます。

シナリオ間で情報をやり取りする必要がある状況に陥った場合は、おそらく一歩下がってシナリオを再検討する必要があります。これらの 2 つの異なるシナリオは本当にありますか? それとも、たぶん1つだけですか?どうすればそれらをより明確に表現できますか?

これがお役に立てば幸いです。

于 2013-04-12T09:39:01.953 に答える