1 回答
TA贡献1812条经验 获得超5个赞
据我了解您的问题,您正在寻找一种在运行功能/场景之前运行一些设置说明的方法。问题是场景和功能在设计上是孤立的。确保在场景运行之前执行某些操作的方法是定义一个Background部分。AFAIK 你不能跨功能应用相同的背景。场景按功能分组,每个功能可以指定Background在每个场景之前执行的。我只需将您的设置内容复制粘贴到您需要的任何地方:
Background:
Given I have the base data:
| User | Status | other fields |
| Foo | Active | ... |
| Bar | Disabled | ... |
如果您的设置涉及大量步骤,您可以定义一个步骤,您可以扩展该步骤以运行所有“背景”步骤,如下所示:
Scenario: test something
Given my test setup runs
然后my test setup runs像这样实现:
s.Step(`^my test setup runs$`, func() godog.Steps {
return godog.Steps{
"user test data is loaded",
"other things are set up",
"additional data is updated",
"update existing records",
"setup was successful",
}
})
那应该行得通。
当然,为了避免必须以 that 开始每个场景Given my test setup runs,您可以使用以下命令开始每个功能文件:
Background:
Given my test setup runs
这将确保在每个场景之前执行设置。结果将是:在每个功能文件的开头添加 2 行,您就可以开始了。
- 1 回答
- 0 关注
- 115 浏览
添加回答
举报