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

8

我想知道在使用标签和钩子时,与在cucumber中使用背景相比,是否有充分的理由支持或反对。

在测试开始之前让用户登录可以有两种方式:

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个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
9
“背景”在提供常见的、可读性强的用户背景信息时非常有用。如果您想在功能文本中明确说明这个初始化过程,使用它是值得的。 但有时拆卸(和设置)逻辑是实现细节,会在“Before”,“After”或“Around”钩子中实现(因为规范读者不需要知道这些技术细节)。 总之,如果您想要告知规范读者背景,请使用“背景”,如果背景是实现细节,则应该使用hooks。 在您的示例中,“背景”是最好的选择。

4

在我看来,应该选择前者,因为它可以完整地展现在普遍可读的Gherkin功能文件中。标签只是为了帮助代码运行,它们只属于实现层面。而你所描述的内容是对正在发生的事情的一部分描述。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,