在 Cucumber .feature 文件中传递数组值
Pass Array value in cucumber .feature file
我想从 Cucumber .feature 文件中将数组值作为参数传递,这样我就可以从步骤定义文件中访问它:
我正在使用这种格式:
Examples:
|r1|t1|
|abc|[aa,bb,cc]|
但是我遇到了一个错误
undefined method
“[aa,bb,cc]”的每个:字符串 (NoMethodError)`
是否可以从 .feature 文件传递数组?
我认为您不需要方括号。
When I pass this array "aa,bb,cc"
你必须把你的弦分开。
When(/I pass this array "([^"]*)"$/) do |array|
array.split(',').each{|entry| do something }
end
注意:如果条目周围有空格,您可能需要删除这些条目{|entry| puts entry.strip }
您不需要在示例中放置方括号。只需将值写为逗号分隔,例如
When I expect the messages to contain a,b,c,d
并且在您的步骤定义文件中,使用以下代码:
When(/^I expect the messages to contain (.*)+$/,
{ timeout },
async rules => {
const rulesArray = rules.split(',');
rulesArray.forEach(rule => {
## write your logic
});
}
);
我想从 Cucumber .feature 文件中将数组值作为参数传递,这样我就可以从步骤定义文件中访问它:
我正在使用这种格式:
Examples:
|r1|t1|
|abc|[aa,bb,cc]|
但是我遇到了一个错误
undefined method
“[aa,bb,cc]”的每个:字符串 (NoMethodError)`
是否可以从 .feature 文件传递数组?
我认为您不需要方括号。
When I pass this array "aa,bb,cc"
你必须把你的弦分开。
When(/I pass this array "([^"]*)"$/) do |array|
array.split(',').each{|entry| do something }
end
注意:如果条目周围有空格,您可能需要删除这些条目{|entry| puts entry.strip }
您不需要在示例中放置方括号。只需将值写为逗号分隔,例如
When I expect the messages to contain a,b,c,d
并且在您的步骤定义文件中,使用以下代码:
When(/^I expect the messages to contain (.*)+$/,
{ timeout },
async rules => {
const rulesArray = rules.split(',');
rulesArray.forEach(rule => {
## write your logic
});
}
);