Код файла функций Specflow - определение данных c # - PullRequest
0 голосов
/ 29 мая 2018

Я создал файл с несколькими функциями.В моих файлах функций мои данные и когда всегда одинаковы, только тогда мои значения отличаются, так как я проверяю различные выходные параметры.Стоит ли иметь только один кусок кода для моего «заданного» и «когда» и один код для «моего», чтобы проверить все выходные меры за один раз.

Если это возможно, как бы я это сделал??

Пример :

Given Interface is generated
When batch is executed
Then transfer measure is generated

Given Interface is generated
When batch is executed
Then allocation measure is generated

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Обычно лучше хранить Given s и When s отдельно, чтобы ваши функции читались лучше.

В вашем случае лучше всего использовать Scenario Outline вместоScenario.Это позволяет вам использовать токенизированную таблицу для утверждения нескольких разных результатов при одинаковых начальных шагах:

Scenario Outline: Batch execution works correctly
    Given  Interface is generated
    When batch is executed
    Then <measure_type> is generated
Examples: 
    | measure_type       |
    | transfer measure   |
    | allocation measure |

В ваших шагах у вас будут отдельные методы, утверждающие, что был сгенерирован правильный measure type:

[Then(@"transfer measure is generated")]
public void ThenTransferMeasureIsGenerated()
{
    // your assertion logic here
}
0 голосов
/ 29 мая 2018

для ваших примеров

Данный интерфейс генерируется

Когда выполняется пакет

Затем генерируется мера переноса

Данный интерфейс генерируется

Когда выполняется пакет

Затем генерируется мера распределения

Вы можете использовать таблицу и изменить ее следующим образом:

Given Interface is generated    
When batch is executed   
Then '<val>' measure is generated    
Examples:    
|val|    
|transfer|    
|allocation|

Это создаст одинТогда шаг

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