在所有Given(或Then或When)步骤之后运行子程序

时间:2014-01-03 19:43:10

标签: cucumber hook bdd

我希望我的测试人员能够以任何顺序组织他们的Given(或When或Then)步骤。这意味着Given步骤将累积要采取的操作(数据库插入,页面访问等)。在执行步骤之前,我想执行从给定步骤中获取的操作的累积。这样做有钩子吗?

1 个答案:

答案 0 :(得分:0)

我不知道实现你想要的钩子,但我相信问题在于你的场景不是cuking

听起来好像你(如果你包含了一个示例场景,它会有所帮助!)正在编写命令而不是声明性场景。有关命令性和声明性方案的示例,请参阅here。 此外,还应以与技术无关的方式编写方案,以便业务中的任何人都能理解它们,因此您不应包含详细说明“数据库插入”操作的步骤。

如果您要以声明方式编写场景(即详细说明要执行的操作而不详细说明将如何执行该操作),则无需执行“操作累积”。

声明性场景的另一个好处是它们更明确地说明了场景试图实现的目标,例如:

When I enter "email@domain.com" in "email"
And I enter "password1" in "password"
And I tap "login"

读者必须推断出这些步骤的目的是什么,而使用:

Given I login using valid credentials

很清楚步骤意图是什么。