SpecFlow可重复使用的步骤定义

Chr*_*elt 14 c# bdd specflow

有没有办法让SpecFlow重用步骤定义?

在其他工具中,我使用了包含诸如的方法的GivenWhenThen基类

WhenAnOrderIsCreated - 这将通过继承类来使用受保护的订单成员.

似乎无法使用SpecFlow(似乎不喜欢继承)

有没有办法分享各个功能的步骤?

非常感谢

Mar*_*erg 28

为什么是可能的 - 查看步骤功能的调用步骤(https://github.com/techtalk/SpecFlow/blob/master/Tests/TechTalk.SpecFlow.Specs/Features/CallingStepsFromStepDefinition.feature)

简而言之,您创建一个继承自以下步骤的步骤定义类:

[Binding]
public class CallingStepsFromStepDefinitionSteps : Steps
{}
Run Code Online (Sandbox Code Playgroud)

然后你可以简单地调用这样的其他步骤:

[Given(@"I am logged in")]
public void GivenIAmLoggedIn()
{
     Given("I am on the index page");
     When("I enter my unsername nad password");
     And("I click the login button");
     incStepCount();
}
Run Code Online (Sandbox Code Playgroud)

我希望我能正确理解你的问题,这是对它的回答

  • 最好直接调用C#方法而不是通过,例如,"Given("我在索引页面上);".这样更改步骤描述不会导致这些调用失败. (2认同)