首页 > 解决方案 > Specflow - 对任何关键字使用相同的步骤 def

问题描述

如何在起始关键字可以是 Given/When/Then 中的任何一个的功能文件中使用步骤定义

例子:

特征文件

Given I do something
When I do something else
Then blah blah
And I do something else

如何仅编写 1 步定义来处理 2 x“我做其他事情”。据我现在可以告诉我,我必须编写 2 x 相同的步骤定义来处理这个

目前我必须在 Step Def 文件中执行此操作

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

[Then(@"I do something else"]
public blah2()
{
do something
}

标签: c#.netbddspecflow

解决方案


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

[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
}

推荐阅读