当被询问时,IntelliJ 会自动从 .feature 文件为此 Gherkin 创建一个 ruby 步骤
And I "foo" bar
就像在 .rb 文件中一样
When /^I "([^"]*)" bar$/ do |arg|
pending
end
我对 [^"]* 而不是 .* 感到困惑
我也有一位同事提到我应该使用 .*? 而不是上述任何一个。我要求他提供一组 Gherkin 字符串的具体示例,这些字符串将在以下任何 ruby 步骤之间进行不同的解析。
一个红宝石步骤使用的地方
When /^I "([^"]*)" bar$/ do |arg|
pending
end
另一种用途
When /^I "(.*)" bar$/ do |arg|
pending
end
还有另一个用途
When /^I "(.*?)" bar$/ do |arg|
pending
end
但他从来没有给我回复过一个对这三者中的任何一个产生影响的人。我想他从来没有找到一个很好的例子。
我认为 .* 是所有三个正则表达式中最简单的,我想在我的 ruby 步骤定义中主要使用它。有人可以提供具体示例,说明从正确性的角度来看,其他两个步骤中的任何一个步骤明显具有优势吗?我不在乎正则表达式解析时间。