繁体   English   中英

黄瓜步骤定义中的歧义匹配错误

[英]Ambiguous match error in cucumber step definitions

在我的黄瓜步骤定义中,我有以下内容

Then /^I should see "(.*?)"$/ do |text|
   page.should have_content(text)
end

Then /^I should see "(.*?)" within "(.*?)"$/ do |text,css|
   within(css) do
      page.should have_content(text)
   end
end

当我运行功能部件时,这将导致黄瓜出现“歧义匹配”错误。 我可以通过将--guess标志传递给黄瓜来解决此错误。 但是我想知道为什么当两个步骤定义明显不同时,黄瓜在上述两个步骤定义中发现了歧义。 有没有办法使它不使用--guess选项就可以工作?

谢谢

第一步与第二步的所有操作匹配。 即使使用非贪婪修饰符, ".*?" 匹配"foo" within "bar"中的"foo" within "bar" 像这样修复它:

Then /^I should see "([^"]*)"$/ do |text|
   page.should have_content(text)
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM