我有一个以.for_each
循环开头的测试文件。我想将标签应用于一个标签,而不是另一个标签。
我可以复制/粘贴整个文件,但这很不雅致。
测试由此开始:
[ "item1_name", "item2_name" ].each do |item|
describe "Test Run on #{ item }" do
有可能吗? 以下内容显然行不通,但可以说明我的期望:
例如:
[ "item1_name", "item2_name" ].each do |item|
if item == 'item1_name'
describe "Test Run on #{ item }", :tag do
else
describe "Test Run on #{ item }", do
end
before :all do
...
end
...
expectations
...
end
答案 0 :(得分:1)
您可以执行以下操作,有条件地添加描述的参数:
tags_for_items = {
'item1_name' => [:tag],
'item2_name' => [],
}
tags_for_items.each do |item, tags|
describe "Test Run on #{item}", *tags do
before :all do
...
end
...
expectations
...
end
end