我正在尝试为specflow编写一个生成器插件来修改最终生成的feature.cs
文件中的步骤或标记。
我试图按照这里描述的方法:
SpecFlow- is it possible to programmatically add lines to a scenario?
相关代码:
public new CodeNamespace GenerateUnitTestFixture(Feature feature, string testClassName, string targetNamespace)
{
foreach (var scenario in feature.Scenarios)
{
scenario.Steps.Insert(0, new Given { Text = "Given I have <Theme> set as my current theme" });
//add any other steps you need....
}
return base.GenerateUnitTestFixture(feature, testClassName, targetNamespace);
}
GenerateUnitTestFixture 的定义后来在UnitTestFeatureGenerator中发生了变化,但是使用大致相同的方法我无法插入步骤,因为传入函数的整个 GherkinDocument 参数是readonly包括步骤,因此无法修改或添加。
public new CodeNamespace GenerateUnitTestFixture(SpecFlowDocument document, string testClassName, string targetNamespace)
{
var feature = document.Feature;
foreach (ScenarioDefinition scenarioDefinition in feature.Children)
{
scenarioDefinition.Steps.///Cannot insert
}
return base.GenerateUnitTestFixture(document, testClassName, targetNamespace);
}
标签出现同样的问题。我无法找到关于这些内容的最新文档,是否仍然可以修改步骤/标签或者是否不再支持它?