Как управлять глобальными переменными в Spec Flow

У меня есть следующий тест моего контроллера

[Binding]
public class RegisterUserSteps
{
    private AccountController _accountController = new AccountController();
    private ActionResult _result; 



    [When(@"the user goes to the register user screen")]
    public void WhenTheUserGoesToTheRegisterUserScreen()
    {
       _result = _accountController.Register();
    }

    [Then(@"the register user view should be displayed")]
    public void ThenTheRegisterUserViewShouldBeDisplayed()
    {
        Assert.AreEqual("Register", _accountController.ViewData["Title"]);
    }
}

это работает хорошо, но это не выглядит хорошо, потому что я не хочу делать переменные глобального / класса. Так что же может быть альтернативой этих переменных в спецификации потока. Потому что, когда мы заходим в большое приложение и файл с одним шагом содержит много сценариев, тогда это будет беспорядок и будет трудно управлять.

заранее спасибо

1 ответ

Решение

Я склонен использовать ScenarioContext.Current["KeyName"] так что я могу определить шаги в разных классах. См. Документацию по спецификации: обмен данными между привязками для получения более подробной информации и некоторых альтернатив.

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