我正在使用Cucumber/Selenium Web-Driver&Capybara我正在尝试在我的Step_definition中构建案例陈述,以便我在网站上没有多个"给出"。
我有以下内容:
Given /^I am on the .+ page$/ do |page_name|
case page_name
when "I am on the home page"
visit ('/')
else
puts "page #{page_name} not found"
end
end
当我在终端运行cucumber
以运行测试时,我会得到
给定我在主页上#功能/step_definitions/home_page.rb:3 您的块采用1个参数,但是REGEXP匹配0个参数。(cucumber :: glue :: aritymismatcherror( 功能/step_definitions/home_page.rb:3:在
/^I am on the .+ page$/' features/homepage.feature:5:in
中,我在主页上'
我已经尝试将正则拨号包装在((,{},[],",',''以及这些组合中,我已经检查了我的代码的凹痕,我 think think 这是正确的。
我已经把我的正则态度放到在线验证器上,它可以很好地拾取。
您的块正在采用参数page_name
,但是您的正则置于其中没有捕获组作为该参数。您可能想要
Given /^I am on the (.+) page$/ do |page_name|
因此,.+
部分被捕获并通过page_name