如何在 Cucumber 步骤定义中使单词可选?
How do I make a word optional in a Cucumber step definition?
我在下面有一个步骤定义,它执行我想要它执行的操作,即它根据 'PAGES' 哈希的 'page' 元素检查页面的 url。
Then(/^I should( still)? be at the "(.*)" page$/) do |still, page|
BROWSER.url.should == PAGES[page]
end
步骤定义用于两者
- 我应该在...页面
- 我应该还在...页面
但是,我不需要将 "still" 传递到块中。我只需要它是可选的以匹配步骤但不传递到块中。我该怎么做?
谢谢。
您想将 "still" 组标记为非捕获。这是通过使用 ?:
.
启动组来完成的
Then(/^I should(?: still)? be at the "(.*)" page$/) do |page|
BROWSER.url.should == PAGES[page]
end
我在下面有一个步骤定义,它执行我想要它执行的操作,即它根据 'PAGES' 哈希的 'page' 元素检查页面的 url。
Then(/^I should( still)? be at the "(.*)" page$/) do |still, page|
BROWSER.url.should == PAGES[page]
end
步骤定义用于两者
- 我应该在...页面
- 我应该还在...页面
但是,我不需要将 "still" 传递到块中。我只需要它是可选的以匹配步骤但不传递到块中。我该怎么做?
谢谢。
您想将 "still" 组标记为非捕获。这是通过使用 ?:
.
Then(/^I should(?: still)? be at the "(.*)" page$/) do |page|
BROWSER.url.should == PAGES[page]
end