Я недавно создал плагин, который должен помочь с вашим первым примером, где вы использовали браузеры.
Название плагина SpecFlow.Contrib.Variants
, а документацию можно найти здесь .
Поэтому, если вы укажете
@Browser:Chrome
@Browser:Firefox
Feature: AnExampleFeature
, тогда каждый сценарий будет выполняться для каждого из этих браузеров или «вариантов», как я на них ссылаюсь в этом плагине. - Обратите внимание, что этот плагин не является secifi c только для браузеров, и варианты могут использоваться для различных нужд.
Однако это не решит проблему использования примеров с большим количеством параметров, для этого я Я бы согласился, что вам понадобится плагин специально для этого, как вы упомянули.
Я действительно думаю, что вы, вероятно, захотите плагин генератора, а не плагин времени выполнения. Это потому, что если вы загляните за капот, примеры сценариев используются как часть генерации кода за файлами (.cs).
Вы можете взглянуть на исходный код моего плагина, который Плагин генератора и посмотрите, как я это сделал.
Я не хочу предвосхищать, насколько простым было бы решение для этого, не углубляясь в него, но это звучит так, будто некоторые фундаментальные изменения в SpecFlow быть нужным. Например, есть несколько объектов, которые, вероятно, потребуется обновить, чтобы удовлетворить примеры функций - если вы посмотрите на некоторые файлы здесь , вы можете представить, что некоторые из них нужно будет добавить в такие, как SpecFlowFeature.cs, возможно, новый FeatureOutline.cs et c et c et c.