SpecFlow не генерирует правильные шаги - PullRequest
0 голосов
/ 07 февраля 2020

SpecFlow 3.1.82 и VS 2019. Также использую MsBuild Generation.

У меня есть фон с огурцом и Ruby, и эта комбинация ВСЕГДА генерировала для меня правильный шаг def скелетов.

Теперь, когда я использую Specflow, я пытаюсь сгенерировать правильные шаги для схемы сценария (опять-таки, у меня с Cucumber все получилось), но сгенерированные шаги, похоже, не распознают таблицу примеров.

Вот моя схема сценария (какой-то пример, который я нашел в Интернете для диагностики моей проблемы):

Scenario Outline: Successfully Convert Seconds to Minutes Table
 When I navigate to Seconds to Minutes Page
 And type seconds for <seconds>
 Then assert that <minutes> minutes are displayed as answer
Examples:
| seconds      | minutes   | 
| 1 day, 1 hour, 1 second       | 1500  | 
| 5 days, 3 minutes    | 7203  | 
| 4 hours      | 240  | 
| 180 seconds         | 3   | 

Когда я щелкаю правой кнопкой мыши и генерирую определения шагов с Регулярными выражениями в атрибутах, это то, что я получаю

[When(@"I navigate to Seconds to Minutes Page")]
public void WhenINavigateToSecondsToMinutesPage()
{
    ScenarioContext.Current.Pending();
}

[When(@"type seconds for (.*) day, (.*) hour, (.*) second")]
public void WhenTypeSecondsForDayHourSecond(int p0, int p1, int p2)
{
    ScenarioContext.Current.Pending();
}

[Then(@"assert that (.*) minutes are displayed as answer")]
public void ThenAssertThatMinutesAreDisplayedAsAnswer(int p0)
{
    ScenarioContext.Current.Pending();
}

Шаг «И введите секунды для» должен иметь только один параметр, но передаются три параметра!

[When(@"type seconds for (.*) day, (.*) hour, (.*) second")]
public void WhenTypeSecondsForDayHourSecond(int p0, int p1, int p2)
{
    ScenarioContext.Current.Pending();
}

Что дает? Я слышал, что SpecFlow является версией Cucumber. NET, но, похоже, он не имеет такого же уровня поддержки в отношении генерации пошагового определения. В любом случае, чтобы решить эту проблему, чтобы параметры и таблицы примеров были правильно распознаны?

...