Как получить сценарии specflow в объектах c # - PullRequest
0 голосов
/ 29 января 2019

Я хочу прочитать каждый файл объектов и создать объекты для каждого сценария.После прочтения файла .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 голосов
/ 31 января 2019

Gherkin Parser должен делать то, что вы ожидаете.Вы можете получить его в Nuget gallery

...