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

时间:2012-04-03 13:56:12

标签: ruby cucumber gherkin

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

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

Background:
  Given that I am logged in
Scenario: Lorem ipsum sit amet dolor
[...]

或者像这样:

@login
Scenario: Lorem ipsum sit amet dolor
[...]

+

before(@login) do
  visit('/admin/login/testuser')
end

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

2 个答案:

答案 0 :(得分:9)

Background在为您的风格提供常见的客户可读(非技术)背景时非常有用。如果您希望在功能的文本中明确初始化,则值得使用它。

但有时拆卸(和设置)逻辑是一个实现细节,并在BeforeAfterAround挂钩中实现(因为您的规范的读者不需要知道这些技术性的东西)。

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

在你的例子中,背景是最好的选择。

答案 1 :(得分:4)

绝对是前者(恕我直言),因为它捕获了普遍可读的Gherkin特征文件中的所有内容。标签只是真正帮助跑步者 - 他们是实施水平。你在这里描述的是对正在发生的事情的描述的一部分。