我正在尝试将黄瓜的步骤定义翻译成西班牙语,但我收到了这个错误:
Ambiguous match of "que estoy en la página "inicio de sesión""
features/step_definitions/web_steps.rb:3:in `/^que estoy en la página "([^"]*)"$/'
features/step_definitions/web_steps.rb:7:in `/^visito la pa|ágina "([^"]*)"$/'
这是我的web_steps.rb
# encoding: utf-8
Dado /^que estoy en la página "([^"]*)"$/ do |page|
visit(path_to page)
end
Cuando /^visito la página "([^"]*)"$/ do |page|
visit(path_to page)
end
如果我在正则表达式中得到^和$,那怎么可能是ambiguos?
答案 0 :(得分:1)
看起来它在后一步定义中看到|
。仔细查看错误的第二行:
features/step_definitions/web_steps.rb:3:in `/^que estoy en la página "([^"]*)"$/'
features/step_definitions/web_steps.rb:7:in `/^visito la pa|ágina "([^"]*)"$/'
它看到/^visito la pa|ágina "([^"]*)"$/
,它将其解释为OR,即/^visito la pa
或ágina "([^"]*)"$/
。通过这种解释,这场比赛确实变得模棱两可。
现在为什么它以这种方式阅读对我来说是个谜,也许是一些UTF-8的杂物?