我有几个相同的测试,唯一不同的是参数,但我无法逐个循环它们
以下是测试
的示例subject.orange['orange tray'] do |tray|
expect(tray).not_to be_nil
subject.apple['apple tray'] do |tray|
expect(tray).not_to be_nil
这是我想要做的事情
fruits_list = ['orange', 'apple']
fruits_list.each do |fruit|
subject."#{fruit}[#{fruit} tray]" do |tray| <------- the error, I can't get this to work
expect(tray).not_to be_nil
end
答案 0 :(得分:3)
您需要使用send
方法,而不仅仅是将字符串传递给对象。你可能会做类似的事情:
['orange', 'apple'].each do |fruit|
subject.send(fruit.to_sym)["#{fruit} tray"] do |tray|
expect(tray).not_to be_nil
end
end