重用SpecFlow场景

时间:2011-07-11 08:01:05

标签: .net bdd specflow

我已经开始使用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屏幕。我在想是否可以重复使用导航

编写的场景:导航到Boo 场景

这可能吗?另外,最好的解决方法是什么?

/ BB

1 个答案:

答案 0 :(得分:5)

这里有两个选项:

  1. 创建一个具有共享步骤的类,对许多场景都是通用的。在您的情况下,此类将包含“当我导航到Boo”时的步骤。然后可以使用其他功能。

  2. 您可以使用完全相同的名称/文字进行多一步,但您可以使用ScopedStepBinding确保为要素调用该步骤的正确版本。因此,您可以将“当我导航到Boo”出现在多个要素文件中时,但通过使用步骤范围,您可以控制为要素文件运行的代码。