我是設計和rails的新手,我只是集成設計與我的示例應用程序。我注意到在創建用戶模型後,我的所有單元測試都失敗了。我去嘗試縮小這個發現甚至產生斷言「真理」一個user_test.rb
也失敗:將索引添加到電子郵件列的元兇單元測試失敗
ActiveRecord::RecordNotUnique: SQLite3::ConstraintException: \
column email is not unique: INSERT INTO "users" (...
一旦我註釋掉add_index
...
# add_index :users, :email, :unique => true
...並重新運行rake db:test:load
並重新運行它通過的ruby -I test test/unit/user_test.rb
的測試。
有沒有其他人會遇到這種情況?
嗨史蒂夫,這不是重複燈具數據的情況。我正在使用工廠(通過電子郵件進行排序),但對於爲Devise生成的特定模型用戶,我只測試'assert the truth'測試用例,它應該始終返回true。沒有夾具數據或任何東西。我清理了我的數據庫,確保更新了使用rake db的schema.rb:遷移並刪除測試數據庫並從頭開始重做測試。我懷疑添加索引和單元測試存在一些錯誤,但我沒有挖掘出那個兔子洞。 – glory 2011-04-24 18:37:39
sql生成似乎是(插入語句中的值)不正確:ActiveRecord :: RecordNotUnique:SQLite3 :: ConstraintException:列電子郵件不是唯一的:INSE RT INTO「users」(「created_at」,「updated_at」,「id 「)VALUES('2011-04-24 08:53:36','2011-04-24 08:53:36',298486374) – glory 2011-04-24 19:04:57