BeforeScenarioOutline或AfterScenarioOutline存在吗?

时间:2018-06-07 09:44:24

标签: specflow gherkin

当我有更多示例(2或更多)的场景大纲时,我想在第一个场景开始之前设置一整套场景只做一次,然后我希望有一些我可以清理所有场景的东西所有例子的情景大纲完成后我的变化。 现在[BeforeScenario]和[AfterScenario],当应用于场景大纲时,执行每个示例。当我使用场景大纲时,我非常希望能够在第一个示例之前运行一次设置,并在我的场景大纲中的最后一个示例之后运行清除所有更改。

这种情况是否存在任何属性?或者有任何解决方法吗?

2 个答案:

答案 0 :(得分:2)

此处列出了所有可用的挂钩:http://specflow.org/documentation/Hooks/

A之前/之后 - ScenarioOutline不可用,因为方案大纲是参数化方案。它就像XUnit中的理论一样 因此,当您使用ScenarioOutline为每个示例还原更改时,您也需要这样做。

答案 1 :(得分:0)

您的问题表明对场景概述在规格流程中的工作方式存在误解。

场景大纲只是编写许多场景的简便方法。 Specflow只为您的大纲生成n测试,并且跑步者可能决定并行运行这些测试,这将使前/后场景大纲步骤毫无意义。您要求的是订购测试执行,这是不可能的。

对我来说,这听起来就像你有一个功能,所以将场景大纲单独放入一个功能中,并在功能中使用相应的前/后步骤