gpt4 book ai didi

c# - TechTalk.SpecFlow.BindingException : 'Parameter count mismatch! 绑定(bind)方法

转载 作者:行者123 更新时间:2023-11-30 16:38:57 56 4
gpt4 key购买 nike

我正在尝试为 specflow 编写一个 StepArgumentTransformation。

我有以下小 cucumber

Scenario: Test Arguments
Given user enter once as 2

我在步骤定义中写了这个。

    [StepArgumentTransformation]
public int GetOnces(string onces, string times)
{
return 1 * int.Parse(times);
}

[Given(@"user enter (.*) as (.*)")]
public void GivenUserEnterOnce(int num)
{
Assert.Equal(2, num);
}

但是 GetOnces 方法从未被调用,我得到了异常

TechTalk.SpecFlow.BindingException: 'Parameter count mismatch! The binding method 'GivenUserEnterOnce(Int32)' should have 2 parameters

最佳答案

绑定(bind)应该是这样的:

[StepArgumentTransformation("(.*) as (.*)")]
public int GetOnces(string onces, string times)
{
return 1 * int.Parse(times);
}

[Given(@"user enter (.*)")]
public void GivenUserEnterOnce(int num)
{
Assert.Equal(2, num);
}

如果要转换的参数不止一个,则必须在 StepArgumentTransformation 中指定正则表达式。您的实际步骤仅获取一个参数,因此正则表达式中只有一个参数有效。

您可以在此处找到相关文档:https://specflow.org/documentation/Step-Argument-Conversions/

关于c# - TechTalk.SpecFlow.BindingException : 'Parameter count mismatch! 绑定(bind)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53880611/

56 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com