簡體   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