Sur*_*pta 4 .net c# bdd specflow feature-file
我在同一个功能文件中写了两行(When's)
When user $action1$ $key1$ with $value1$ for $atttributeType_Value$ in $Filename1_SectionId1$
Then abc
When user $action2$ $key2$ with $value2$ in $Filename2_SectionId2$
Then def
Run Code Online (Sandbox Code Playgroud)
步骤定义文件中的相应步骤定义
如
[When(@"user (.*) (.*) with (.*) for (.*) in (.*)")]
public void abc()
{ //operation }
[When(@"user (.*) (.*) with (.*) in (.*)")]
public void def()
{ //operation }
Run Code Online (Sandbox Code Playgroud)
但是,它显示错误为"找到多个匹配绑定.导航到第一个匹配..."
当我尝试导航第一行时给出错误...但是当我使用第二行时导航.它正确导航.
我在"<"和">"所在的地方使用了"$".
问题是你的第二个正则表达式:
with (.*) in (.*)
Run Code Online (Sandbox Code Playgroud)
匹配这两行
with a partridge in a pear tree
with a partridge for Christmas in a pear tree
Run Code Online (Sandbox Code Playgroud)
在第一个例子中,它将拾取"鹧"和"梨树"作为两个参数.在第二个中,它会选择"圣诞节的鹧"和"梨树"作为论据.由于您的第一个正则表达式也与第二行匹配,因此确实找到了多个绑定.
你可以使用不同的正则表达式.例如,如果您想挑出一个完整的单词而不包含任何空格,请尝试(\S*)代替(.*).这.匹配任何东西,包括空格.更多关于正则表达式的信息.