为了账号安全,请及时绑定邮箱和手机立即绑定

如何在执行 goDog 中剩余的功能文件之前执行特定的功能文件?

如何在执行 goDog 中剩余的功能文件之前执行特定的功能文件?

Go
慕田峪9158850 2022-05-10 16:03:49
在实施剩余的测试用例之前,我有一些数据设置。我已将在执行测试用例之前需要执行的所有数据设置分组到单个功能文件中。如何确保在执行 goDog 框架中的任何其他功能文件之前执行此数据设置功能文件?
查看完整描述

1 回答

?
ABOUTYOU

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 行,您就可以开始了。


查看完整回答
反对 回复 2022-05-10
  • 1 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信