使用Rails时的灯具(我的环境Rails 4.2)
为什么在运行测试时,为什么在灯具存在但是没有相同名称的表时会出错?为什么灯具需要在表格中有匹配的列?
示例1:(表格不存在)
ActiveRecord :: StatementInvalid:SQLite3 :: SQLException:没有这样的表:joes:DELETE FROM“joes”
示例2:(表存在,但列不存在)
ActiveRecord :: Fixture :: FixtureError:表“products”没有名为“other”的列。
我认为我可以在我的测试中使用灯具作为参考的常用位置,但不需要匹配我的数据库。
答案 0 :(得分:2)
灯具是您的数据,它们仍然需要一个去处!
" Fixtures允许您在测试运行之前使用预定义数据填充测试数据库。夹具是用YAML编写的数据库独立的。每个型号有一个文件。"
http://guides.rubyonrails.org/testing.html#the-low-down-on-fixtures
它们不是某种内存替换测试数据库,它们只允许您使用值预先填充测试数据库,这样您可以更方便地进行测试,而无需在设置时放入大量数据试运行。这就是全部。