У меня есть 2 функции, которые используют общее, 'Когда' шаг, но имеет отличающийся, 'Затем' ступает в различные классы.
Как я получаю доступ, например, ActionResult от моего контроллера MVC призывают Когда шаг в моих двух Затем шаги?
В SpecFlow 1.3 есть три метода:
Комментарии:
статические члены очень прагматичны и в данном случае не такие злые, как сначала могли бы мы, как разработчики. подумайте (нет потоков или необходимости имитировать / заменять в определениях шагов)
См. ответ от @Si Keep в этом потоке
Если конструктору класса определения шага нужны аргументы, Specflow пытается ввести эти аргументы. Это можно использовать для вставки одного и того же контекста в несколько определений шагов.
См. Пример здесь:
https://github.com/techtalk/SpecFlow/wiki/Context-Injection
Используйте класс ScenarioContext, который представляет собой словарь, общий для всех шагов.
ScenarioContext.Current.Add("ActionResult", actionResult);
var actionResult = (ActionResult) ScenarioContext.Current["ActionResult"];