用黄瓜测试外键
问题描述:
我正在尝试设置黄瓜功能的背景。理想我想能够做到:用黄瓜测试外键
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,因此第一行可能与7,因此ID来创建其他“子”行都不能访问它。名称不是唯一的,所以我无法在步骤定义中执行find_by_name。我有一种感觉,它会是一些丑陋的嵌套阵列解决方案。 任何想法如何实现这一目标?
答
我结束了我的步骤定义做它的方式:
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
答
我不明白为什么你不能选择唯一的名称来配置测试的目的?
这是不够的,因为我需要能够应付(和测试)重名。 – Yule 2011-05-26 14:11:20