1

いくつかのシナリオで同じ言い回しで機能を書いています。

Feature: User Management
Scenario: Edit an existing user's details
Given a user exists

Feature: Group Management
Scenario: Add a user to a group's membership
Given a user exists
And a group exists

SpecFlowには、各機能が呼び出すステップを定義する良い方法がありますか?シナリオの作成でこれを間違った方法で行っていますか?弾丸を噛んで、与えられたステートメントを変更して、それらがどの機能に適用されるかを示す必要がありますか?私はBDDとSpecFlowを初めて使用するので、助けていただければ幸いです。

4

1 に答える 1

1

Gherkin形式(SpecFlowなどのCucumberファミリのツールが使用する)には、機能間でステップを共有するための構造がありません(機能内では、背景を使用できます)。

この背後にある意味は、機能が自己記述的であり、それ自体で完全でなければならないということです。[背景]セクションを使用すると、シナリオが長すぎることを回避できますが、それでもすべての情報がファイルにまとめられます。ただし、機能ごとに共有手順を繰り返す必要があります。

別の方法として、いくつかのシャードロジックを実装できるイベントバインディング(キュウリの「フック」のようなもの)を作成することもできます。ただし、この共有ロジックは.NETに実装する必要があります。

于 2010-09-06T11:46:14.470 に答える