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



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

我不知道有什么钩子可以实现你想要的,但我认为问题是你没有正确地构建你的场景。

听起来你(如果你包含了一个示例场景,那会有所帮助!)正在编写命令式场景,而不是声明式场景。有关命令式和声明式场景的示例,请参见此处。此外,场景应该以技术不可知的方式编写,这样业务中的任何人都可以理解它们,因此不应该包含详细说明"数据库插入"操作的步骤。

如果你以声明的方式编写场景(即详细说明你想执行的动作,而不详细说明该动作将如何执行),那么就没有必要执行"动作积累"。

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

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

读者必须推断出这些步骤的目的是什么,而对于

Given I login using valid credentials

很清楚这些步骤的意图。

最新更新