5

我已经开始使用 SpecFlow 并且想知道是否可以在规范之间重用场景

基本上我的想法是这样的(我可能从根本上错了:))

我编写了一项功能来验证导航。

功能:导航

I should be able to navigate to all the pages i'm authorized to

场景:导航到 Boo

Given I enter proper values in Foo
When I enter Go
Then I should be taken to Boo**

然后我有另一个规范可以验证 Boo 的操作方面

功能:验证 Boo 是否工作正常

所以在这里我基本上需要先导航到 Boo 屏幕。我在想我是否可以重用Scenario: Navigate to Boo用Navigation编写的场景

这可能吗?否则,绕过它的最佳方法是什么?

/BB

4

1 回答 1

5

您在这里有两个选择:

  1. 创建一个具有共享步骤的类,在许多场景中都很常见。在您的情况下,此类将包含“当我导航到 Boo 时”步骤。这将可用于其他功能。

  2. 您可能必须使用完全相同的名称/文本执行多个步骤,但您可以使用ScopedStepBinding来确保为某个功能调用该步骤的正确版本。因此,您可以让“当我导航到 Boo”出现在多个功能文件中,但通过使用步进范围,您可以控制为功能文件运行哪些代码。

于 2011-07-11T08:38:36.737 回答