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