3

让我在 TestRun、Feature、Scenario 或 Step 级别执行某些操作。我知道我们可以使用 Hooks。我想知道的是,当我编写规范时,如何将这些写入功能文件中。

根据我的理解,我可以使用 Backgroud 编写一些通用的东西,这些东西要在所有场景之前在功能中运行。然而,它建议我们不应该在背景部分有长列表。另外,如果我有一些对于测试运行很常见的东西或多个功能,我可以使用标签将它们分组,是否有任何语法可以用来编写它。

4

1 回答 1

4

钩子实现不能在特性文件中用 Gherkin 表示,它们必须在步骤实现文件中实现:

使用标签 @foo 标记场景和/或功能,并在使用 [Binding] 属性装饰的某些类中,使用钩子属性注释方法,例如 [BeforeTestRun("foo")]。

更多信息和可用的钩子可以在 specflow wiki中找到。

如果您担心在后台有很长的步骤列表,那么这些步骤可能过于冗长,您可以考虑将它们合并到一个步骤中。如果您需要为测试运行中的所有测试做一些事情,也许无论如何在功能中提及它并不重要,因此它可以像上面描述的那样放在一个步骤实现文件中。

于 2012-11-09T08:37:45.810 回答