Specflow 重用 When as Then

Specflow reusing When as Then

我目前正在使用 Specflow 和 Selenium 自动化我的测试。我创建了一些简单的函数,我想在 Specflow 中重复使用这些函数。我遇到的问题是,一旦我将一个步骤定义为 When,之后我就无法将此步骤重新用于 Then。

例如:

Scenario: 1
Given user navigates to 'http://www.anyURL.com/'
When user inserts 'data' into field with ID 'id'
And user clicks on button with ID 'id'
Then user sees 'x' amount of search results

所以这是方案 1。现在在方案 2 中我想使用 "When user inserts 'data' into field with ID 'id'" 作为: "Then user inserts 'data' into field with ID 'id'"

但是在我的代码中,我的函数以 [When(@"user inserts '(.*)'.... Sepcflow doesn't match this.

我记得 Cucumber 曾经自动执行此操作。

非常感谢任何帮助!

在 specflow 中,您只需向要绑定的方法添加另一个属性:

[When(@"user inserts '(.*)'"]
[Given(@"user inserts '(.*)'"]
public void UserInertsData(string data)
{
     ....
}