如何在Cucumber步骤定义中使单词可选?

Kar*_*ins 5 ruby regex cucumber watir-webdriver

我在下面有一个步骤定义,它做了我想要它做的事情,即它检查页面的URL与'PAGES'哈希的'page'元素.

Then(/^I should( still)? be at the "(.*)" page$/) do |still, page|
  BROWSER.url.should == PAGES[page]
end
Run Code Online (Sandbox Code Playgroud)

步骤定义用于两者

  • 我应该在...页面
  • 我还应该在...页面

但是,我不需要"仍然"传递到块中.我只需要它是可选的匹配步骤但不会传递到块中.我怎样才能做到这一点?

谢谢.

Jus*_* Ko 11

您希望将"静止"组标记为非捕获.这是通过启动组来完成的?:.

Then(/^I should(?: still)? be at the "(.*)" page$/) do |page|
  BROWSER.url.should == PAGES[page]
end
Run Code Online (Sandbox Code Playgroud)