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

我不知道如何超越这一点。这里有两种测试路径,一种用于用户对确认说“OK”时,一种用于用户说“Cancel”时。

我想说“如果我点击确定”,然后是“那么记录应该被删除”等等。但似乎应该以更好的方式分解它。

你会如何改写这个场景?

4

2 回答 2

3

我建议在更高的层次上编写你的场景。在你的场景中避免使用按钮、点击和文本框,并尝试谈论用户想要完成的事情——你的系统的行为。与页面的实际交互然后隐藏在步骤定义中。

所以在你的情况下,这将是这样的;

鉴于我在记录页面上

当我删除一条记录

然后我应该会看到一条确认消息

在 [When("I delete a record")] 的步骤定义中,您然后实现单击删除按钮和“确定”的确定按钮或删除记录所需的任何内容。

我希望这很清楚。写在我的手机上;)

于 2011-04-21T20:53:31.697 回答
2

这里实际上可能存在三种情况。正如马库斯所建议的那样,第一个重点是:

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 回答