我需要一些Cucumber步骤定义文件中的正则表达式的帮助。我的许多步骤都属于以下类型:
Given I am on the search page
我在大多数步骤定义中使用这种通用模式,并使用默认的Webrat正则表达式来获取它,如下所示:
Given /^(?:|I )am on (.+)$/ do |page_name|
visit path_to(page_name)
end
问题在于我需要以不同的方式处理标题为“结果”的页面,而且我不知道如何修改上述正则表达式以排除出现“给定我在结果页面上”的行。
答案 0 :(得分:1)
您可以使用负面预测解决此问题:
Given /^(?:|I )am on (?!the results)(.+)$/ do |page_name|
p page_name
end
Given /^I am on the results page$/ do
p 'We matched the results page'
end