【问题标题】:How do I make a word optional in a Cucumber step definition?如何在 Cucumber 步骤定义中使单词可选?
【发布时间】:2017-02-25 03:52:22
【问题描述】:

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

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

步骤定义用于两者

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

但是,我不需要将“仍然”传递到块中。我只需要它是可选的以匹配步骤但不传递到块中。我该怎么做?

谢谢。

【问题讨论】:

    标签: ruby regex cucumber watir-webdriver


    【解决方案1】:

    您想将“静止”组标记为非捕获。这是通过以?: 开头的组来完成的。

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

    【讨论】:

    • 如果我需要将“静止”传递到块中(如果存在)怎么办?
    • @Richard,你不会指定非捕获标志,基本上它会回到原来的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    相关资源
    最近更新 更多