如何解决用黄瓜测试外键
| 我正在尝试设置黄瓜功能的背景。理想情况下,我希望能够做到: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。我感觉这将是一些丑陋的嵌套数组解决方案。
任何想法如何实现这一目标?
解决方法
我不明白为什么您不能出于配置测试的目的而选择唯一名称?
,我最终在步骤定义中这样做的方式:
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。