如何在C#对象中获取Specflow方案

时间:2019-01-29 18:32:09

标签: c# bdd specflow

我想读取每个功能文件并为每种情况创建对象。阅读 .feature 文件之后。我应该得到如下对象:

输入

@mytag  
Scenario: Add two numbers  
    Given I have entered 50 into the calculator  
    And I have entered 70 into the calculator  
    When I press add  
    Then the result should be 120 on the screen

预期产量

Scenarios-在功能文件中提供所有方案。
   Scenario.Steps-在该情况下给出所有“给定”。
   Scenario.Examples-提供所有示例。
   Scenarios.Tags-所有标签

代码

var lines = File.ReadAllText(@"P:\Test.feature");
var scenarios = lines.Split(new string[] { "Scenario: "}, StringSplitOptions.RemoveEmptyEntries);
var scenarioList = new List<Scenario>();
for (int i = 1; i < scenarios.Length; i++)
{
    var ind = scenarios[i].IndexOf("\n");

    var scenario = new Scenario();
    scenario.Name = scenarios[i].Substring(0, ind);
    var toInd=scenarios[i].IndexOf("@");
    if(toInd>1)
        scenario.Steps = scenarios[i].Substring(ind,toInd);
    else
        scenario.Steps = scenarios[i].Substring(ind);
    scenarioList.Add(scenario);
}

1 个答案:

答案 0 :(得分:0)

小黄瓜解析器应该完成您所期望的。您可以在Nuget gallery

获得它