黄瓜:何时使用标签/挂钩与背景

Mar*_*ger 8 ruby cucumber gherkin

我想知道与使用标签和挂钩相比,黄瓜背景中是否存在支持或反对的好论据.

在测试开始之前登录用户可以像这样:

Background:
  Given that I am logged in
Scenario: Lorem ipsum sit amet dolor
[...]
Run Code Online (Sandbox Code Playgroud)

或者像这样:

@login
Scenario: Lorem ipsum sit amet dolor
[...]
Run Code Online (Sandbox Code Playgroud)

+

before(@login) do
  visit('/admin/login/testuser')
end
Run Code Online (Sandbox Code Playgroud)

任何想法何时支持另一个?

Ali*_*kau 9

Background当您为您的风景提供共同的客户可读(非技术)背景时非常有用.如果您想在功能文本中明确说明此初始化,则值得使用它.

但有时拆卸(和控制)逻辑是一个实现细节和实现的Before,AfterAround钩(因为你的规范的读者不会需要了解这些技术层面的东西).

摘要:如果要在后台是实现细节时通知读者您的背景规范并使用挂钩,请使用Background.

在您的示例中,背景是最佳选择.