我有一个以.for_each
循环开头的测试文件。我想将标签应用于一个而不是另一个。
我可以复制/粘贴整个文件,但这非常不优雅。
测试从此开始:
[ "item1_name", "item2_name" ].each do |item|
describe "Test Run on #{ item }" do
可能吗?下面显然不会工作,但描述了我希望的:
e.f.:
[ "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
您可以执行以下操作,有条件地添加参数来描述:
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