StepArgumentTransformation使用多个参数

时间:2016-09-06 15:28:36

标签: c# .net specflow

我正在使用Specflow进行测试自动化。我发现了有用的StepArgumentTransformation绑定。

当有多个输入参数时,有没有办法只转换其中一个输入参数?以下面的例子为例:

[StepArgumentTransformation(@"button '(.*)' is '(.*)'")]
public bool ThenButtonIsTransformation(string buttonName, string status)
{
     // Do some work here
}

我希望能够根据status的值返回布尔值true或false。我不关心buttonName值。

总而言之,我希望两个输入参数都进入step函数,但我不想担心从转换方法返回一个复杂的对象,以便存储两个输入参数。

1 个答案:

答案 0 :(得分:0)

在功能文件中:

Scenario: stackoverflow usecase
        Given button green is true

在步骤定义中:

[Given(@"button (.*) (is .*)")]
        public void ThenButtonIsTransformation(string buttonColor, bool status)
        {
            string color = buttonColor;
            bool value = status;
            Console.Write("Button color is: {0} and value is: {1}", color, value);
        }


[StepArgumentTransformation(@"is (\w+)")]
        public bool ProduceBoolValue(string status)
        {
            if (status.ToLower().Equals("true"))
                return true;
            if (status.ToLower().Equals("false"))
                return false;
            return false;
        }

如果可以,请接受答案!