SpecFlow Повторно используемые определения шагов

Есть ли способ заставить SpecFlow повторно использовать определения шагов?

В других инструментах я использовал базовый класс GivenWhenThen, который содержит такие методы, как

WhenAnOrderIsCreated - это элемент защищенного ордера, который будет использоваться наследующими классами.

Просто не могу заставить это работать со SpecFlow (не похоже на наследование)

Есть ли способ поделиться шагами по функциям?

Большое спасибо

1 ответ

Решение

Почему да, это возможно - проверить шаги вызова из функции шага ( https://github.com/techtalk/SpecFlow/blob/master/Tests/TechTalk.SpecFlow.Specs/Features/CallingStepsFromStepDefinition.feature)

Короче говоря, вы создаете класс определения шага, который наследуется от Steps следующим образом:

[Binding]
public class CallingStepsFromStepDefinitionSteps : Steps
{}

И тогда вы можете просто вызвать другие шаги, как это:

[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();
}

Надеюсь, я правильно понял ваш вопрос и что это был ответ на него

Другие вопросы по тегам