我正在尝试设置黄瓜功能的背景。理想情况下,我希望能够做到:
Given the following folders exist:
| id | parent_id | name |
| 1 | nil | folder1 |
| 2 | nil | folder2 |
| 3 | 2 | folder3 |
| 4 | 1 | folder4 |
| 5 | 1 | folder5 |
| 6 | 5 | folder6 |
但是我不能这样做,因为我无法设置特定模型的ID,因此可以使用ID为7创建第一行,因此其他“子”行都不能访问它。名称不是唯一的,因此我无法在步骤定义中执行find_by_name。我有一种感觉,这将是一些丑陋的嵌套阵列解决方案。 任何想法如何实现这一目标?
答案 0 :(得分:1)
我不明白为什么你不能为配置测试选择唯一的名字?
答案 1 :(得分:0)
我最终在步骤定义中执行此操作的方式:
Given /^the following folders exist:$/ do |table|
table.hashes.each{|f|
folder = Folder.new(f)
folder.save
ActiveRecord::Base.connection.execute('UPDATE folders SET id = '+f['id'].to_s+' WHERE id = '+folder.id.to_s)
}
end