C# 如何适应specflow步骤定义,以一种方法接受specflow要素文件中不同数量的参数

C# 如何适应specflow步骤定义,以一种方法接受specflow要素文件中不同数量的参数,c#,specflow,C#,Specflow,嗨,我有以下Specflow功能文件 第一个场景 Scenario outline: Given Add two numbers <num1> <num2> <num3> Then divide by <num4> Examples: |TestCase|num1|num2|num3|num4| |Add |1 |2 |3 |4 | 这是行不通的。我不想用不同的参数编写不同的方法。

嗨,我有以下Specflow功能文件

第一个场景

 Scenario outline:
    Given Add two numbers <num1> <num2> <num3>
    Then divide by <num4>
    Examples:
    |TestCase|num1|num2|num3|num4|
    |Add     |1   |2   |3   |4   |
这是行不通的。我不想用不同的参数编写不同的方法。 有没有办法做到这一点


谢谢。

SpecFlow不支持步骤定义方法中的可选参数。 您必须编写两个方法,但只需从另一个方法调用其中一个

[给定(@“添加两个数字(.*)(.*)(.*))]
public void测试条件(字符串a、字符串b、字符串c)
{
}
[给定(@“添加两个数字(.*)(.*))]
public void测试条件(字符串a、字符串b)
{
使用(a、b、null)测试条件
}

最好使用驱动程序模式。有关详细信息,请访问:

请使用问题编辑器中的“格式代码”图标设置代码格式。它太难阅读。请不要张贴代码的图片。复制并粘贴到问题编辑器中。
 Scenario outline:
    Given Add two numbers <num1> <num2>
    Then divide by <num4>
    Examples:
    |TestCase|num1|num2|num4|
    |Add     |1   |2   |4   |
[Given(@"Add two numbers (.*) (.*) (.*)")]

[Given(@"Add two numbers (.*) (.*)")] 

public void Testtheconditionwith(string a, string b, string c = null)

{

}