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

时间:2014-05-28 11:52:16

标签: ruby cucumber bdd

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

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选项的情况下工作?

由于

1 个答案:

答案 0 :(得分:0)

第一步匹配第二步的所有内容。即使使用非贪婪修饰符,".*?"也会匹配"foo" within "bar"。修复如下:

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