我想知道与使用标签和挂钩相比,黄瓜背景中是否存在赞成或反对的好论据。
在测试开始之前登录用户可以这样:
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
任何想法何时支持另一个?
答案 0 :(得分:9)
Background
在为您的风格提供常见的客户可读(非技术)背景时非常有用。如果您希望在功能的文本中明确初始化,则值得使用它。
但有时拆卸(和设置)逻辑是一个实现细节,并在Before
,After
或Around
挂钩中实现(因为您的规范的读者不需要知道这些技术性的东西)。
摘要:如果您想通知读者您的背景规范,并在后台是实施细节时使用挂钩,请使用背景。
在你的例子中,背景是最好的选择。
答案 1 :(得分:4)
绝对是前者(恕我直言),因为它捕获了普遍可读的Gherkin特征文件中的所有内容。标签只是真正帮助跑步者 - 他们是实施水平。你在这里描述的是对正在发生的事情的描述的一部分。