Сильно типизированные значения в сценарии спецпотока - PullRequest
1 голос
/ 07 марта 2019

Есть ли способ использовать строго типизированные значения в примерах таблицы сценария?(или альтернативное решение)

Я хотел бы знать, если я сделал опечатку в столбце userType уже во время кодирования (не во время выполнения теста).

ОБНОВЛЕНО

file.feature

Scenario Outline: Scenario123
Given Create new user of type "<userType>"
Examples:
| userType     |
| PlatinumUser |
| CommonUser   |

steps.cs

[Given(@"Create new user of type ""(.*)""")]
public void CreateNewUser(UserTypeEnum userType)
{
    // some code like e.g.:
    MyUser user = new MyUser(userType);
    //...
}

enum UserTypeEnum  { CommonUser, PlatinumUser, Spectre }

1 Ответ

0 голосов
/ 05 апреля 2019

Похоже, что это StepArgumentTransformation, что вы ищете?

https://github.com/techtalk/SpecFlow/wiki/Step-Argument-Conversions

Используется как-то так:

[Binding]
public class Transforms
{
    [StepArgumentTransformation]
    public UserTypeEnum UserTypeTransform(string UserType)
    {
      // return the string converted into the required Enum
    }
}

Привязка шага будет видеть, что онв качестве параметра требуется UserTypeEnum, чтобы он выполнял поиск всех доступных преобразований аргументов шага в любых классах с атрибутом Binding и использовал этот метод для выполнения преобразования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...