Specflow - 对任何关键字使用相同的步骤定义

Specflow - Using the same step def for any keyword

如何在功能文件中使用步骤定义,其中起始关键字可以是 Given/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
}

您可以将多个属性放在同一个方法上。
所以在你的情况下它看起来像这样:

[When(@"I do something else"]
[Then(@"I do something else"]
public void blah()
{
// do something
}

如果您希望一个步骤适用于所有 3 个部分 (Given/When/Then),您可以使用 StepDefinitionAttribute.

在那种情况下它看起来像这样:

[StepDefinition(@"I do something else"]
public void blah()
{
// do something
}