如何使用specflow生成器插件修改步骤/标签?

时间:2017-09-07 05:01:53

标签: c# .net tags specflow gherkin

我正在尝试为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);

}

标签出现同样的问题。我无法找到关于这些内容的最新文档,是否仍然可以修改步骤/标签或者是否不再支持它?

0 个答案:

没有答案