Ruby 在步骤定义中使用标记,但不在步骤中使用标记

Ruby 在步骤定义中使用标记,但不在步骤中使用标记,ruby,cucumber,Ruby,Cucumber,这个问题与黄瓜有关: 我需要在step_定义中使用一个特殊的标记,以便从我的step_定义库中快速搜索。但是,在要素文件内的实际步骤中不需要相同的标记 示例: (a) 步骤u定义如下所示: Given(/^sys: I execute "(.*?)" command$/) (b) 要素文件中的步骤应如下所示: Given I execute "hostname" command Given /^(?:sys: ){0}?I execute "(.*?)" command$/ do |comm

这个问题与黄瓜有关:

我需要在step_定义中使用一个特殊的标记,以便从我的step_定义库中快速搜索。但是,在要素文件内的实际步骤中不需要相同的标记

示例:

(a) 步骤u定义如下所示:

Given(/^sys: I execute "(.*?)" command$/)
(b) 要素文件中的步骤应如下所示:

Given I execute "hostname" command
Given /^(?:sys: ){0}?I execute "(.*?)" command$/ do |command|
  p command #=> "hostname"
end
注意:步骤中不使用标记(sys:)


我如何才能做到这一点?

您可以制作标签:

  • 非捕获组(以下简称?:)
  • 它应该正好匹配0次(即{0}?)
步骤定义如下所示:

Given I execute "hostname" command
Given /^(?:sys: ){0}?I execute "(.*?)" command$/ do |command|
  p command #=> "hostname"
end