#c# #.net #bdd #specflow
#c# #.net #bdd #specflow
Вопрос:
Как мне использовать определение шага в файле функций, где начальным ключевым словом может быть любое из заданных / When /Then
пример:
Файл функций
Given I do something
When I do something else
Then blah blah
And I do something else
Как мне написать только определение 1 шага, чтобы справиться с 2 x «Я делаю что-то еще». Насколько я могу судить прямо сейчас, мне нужно написать 2 идентичных определения шага, чтобы справиться с этим
В настоящее время я должен сделать это в файле Step Def
[When(@"I do something else"]
public blah()
{
do something
}
[Then(@"I do something else"]
public blah2()
{
do something
}
Комментарии:
1. Я считаю, что если вы используете Given , When, То, поскольку они предназначены для использования, редко имеет смысл менять начальное ключевое слово. «Я что-то делаю» будет сопровождаться «Когда»; За «Дано» следует «что-то существует»; за «Тогда» следует «Я что-то наблюдаю»
Ответ №1:
Вы можете поместить несколько атрибутов в один и тот же метод.
Итак, в вашем случае это будет выглядеть так:
[When(@"I do something else"]
[Then(@"I do something else"]
public void blah()
{
// do something
}
Если вы хотите, чтобы шаг был для всех 3 частей (задано / Когда / тогда), вы можете использовать StepDefinitionAttribute
.
В этом случае это выглядит так:
[StepDefinition(@"I do something else"]
public void blah()
{
// do something
}
Комментарии:
1. Спасибо за ответ. [StepDefinition(@ меняет правила игры — спасибо.