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

标签 c# .net bdd specflow

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

关于c# - Specflow - 对任何关键字使用相同的步骤定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66343132/

相关文章:

c# - 在 C# 中使用 PowerShell 导入 CSV 添加列

c# - 使用 linq 查找类似产品

.net - 如何调用本地WCF服务?

javascript - 点击浏览器后退按钮时如何刷新 ASP .NET MVC 页面

c# - 每次 Controller 方法结束时调用方法

c# - 从页面导航的 WPF C# 框架导航

c# - Convert.ToDouble() 抛出格式异常

unit-testing - 那里有哪些 'styles' 测试框架?

javascript - 为什么 Jasmine 被称为 "BDD"测试框架,即使不支持 "Given/When/Then"?

php - 行为驱动开发和 PHP 应用程序