Ruby 获取步骤定义中引号内的所有项目
我有一个字符串:我附加dog.png、cat.png和alphabet.doc 这就是我想要的:Ruby 获取步骤定义中引号内的所有项目,ruby,regex,cucumber,gherkin,Ruby,Regex,Cucumber,Gherkin,我有一个字符串:我附加dog.png、cat.png和alphabet.doc 这就是我想要的: 1. dog.png 2. cat.png 3. alphabet.doc 我可以通过执行[^]*来实现这一点,但是,字符串必须以'I attach'开头 这是我在步骤定义中的当前规则:/^I attach[^]*$/但这不起作用 这是给黄瓜/小黄瓜的,我可以用扫描找出一些东西,但我不认为你可以用在黄瓜/小黄瓜上 有什么建议吗 谢谢这似乎是使用和别名的好地方 Given I attach dog.
1. dog.png
2. cat.png
3. alphabet.doc
我可以通过执行[^]*来实现这一点,但是,字符串必须以'I attach'开头
这是我在步骤定义中的当前规则:/^I attach[^]*$/但这不起作用
这是给黄瓜/小黄瓜的,我可以用扫描找出一些东西,但我不认为你可以用在黄瓜/小黄瓜上
有什么建议吗
谢谢这似乎是使用和别名的好地方
Given I attach dog.png
And I attach cat.png
And I attach alphabet.doc
...
或者,您可以使用简单的多行参数这似乎是使用And别名的好地方
Given I attach dog.png
And I attach cat.png
And I attach alphabet.doc
...
或者,您可以使用简单的多行参数如果您想在一个步骤中捕获可变数量的输入,我认为最好的选择是使用扫描。虽然不能在步骤名称中直接使用scan,但可以捕获文件的完整列表,然后解析捕获的结果 请尝试以下步骤定义:
Given /^I attach (.*)$/ do |file_list|
files = file_list.scan(/"(.+?)"/).flatten
#=> ["dog.png", "cat.png", "alphabet.doc"]
end
这将创建一个要附加的文件数组。它可以处理1到无限个文件。如果您想在一个步骤中捕获可变数量的输入,我认为最好的选择是使用扫描。虽然不能在步骤名称中直接使用scan,但可以捕获文件的完整列表,然后解析捕获的结果 请尝试以下步骤定义:
Given /^I attach (.*)$/ do |file_list|
files = file_list.scan(/"(.+?)"/).flatten
#=> ["dog.png", "cat.png", "alphabet.doc"]
end
这将创建一个要附加的文件数组。它可以处理1到无限多个文件。您认为您不能使用扫描?@pguardiario这些规则用于步骤定义您认为您不能使用扫描?@pguardiario这些规则用于步骤定义这很好。我想知道在这种情况下如何使用扫描。我对OP也有类似的需求,这很有帮助+这太棒了。我想知道在这种情况下如何使用扫描。我对OP也有类似的需求,这很有帮助+1.