0

私は SpecFlow と BDD を初めて使用し、ユーザーに選択を求めるシナリオを作成する際に障害にぶつかりました。基本的に、シナリオは次のとおりです。

Scenario:  Deleting a record
Given I am on the edit record page
And I click the delete button
Then I should see a prompt asking for confirmation

この点を超えて進む方法がわかりません。ここでテストするパスは 2 つあります。1 つはユーザーが確認に対して「OK」と言ったとき、もう 1 つはユーザーが「キャンセル」と言ったときです。

「そして、OKをクリックしたら」、「その後、レコードを削除する必要があります」などと言いたいのですが、もっと良い方法で分割する必要があるようです。

このシナリオをどのように言い換えますか?

4

2 に答える 2

3

より高いレベルでシナリオを書くことをお勧めします。シナリオではボタン、クリック、テキストボックスを避け、ユーザーが達成したいこと、つまりシステムの動作について話すようにしてください。ページとの実際の対話は、ステップ定義に隠されます。

あなたの場合、それは次のようになります。

私が記録ページにいるとすれば

レコードを削除すると

次に、確認メッセージが表示されるはずです

[When("I delete a record")] のステップ定義では、削除ボタンのクリックと「よろしいですか」の OK ボタン、またはレコードを削除するために必要なものを実装します。

これが明確だったことを願っています。スマホで書きました(;_;)

于 2011-04-21T20:53:31.697 に答える
2

ここには実際には3つのシナリオがあるかもしれません。マーカスが示唆するように、最初のものは焦点を合わせます:

Given I am on the record page
When I delete a record
Then I should see a confirmation message

しかし、確認ダイアログの動作のシナリオもありますか?

Given I am presented with a confirmation message
When I confirm the action
Then the action proceeds

Given I am presented with a confirmation message
When I cancel the action
Then the action does not proceed
于 2011-05-09T08:01:45.720 に答える