我正在使用Authlogic进行身份验证在Rails 3中构建应用程序。我有一个带有数据库表的User模型和一个没有一个
的user_session模型我的所有测试都失败了,不管我是否运行
错误: test_the_truth(的UsersControllerTest): ActiveRecord :: StatementInvalid:SQLite3 :: SQLException:没有这样的表: user_sessions:DELETE FROM“user_sessions”WHERE 1 = 1
即使它继承自Authlogic,也期望user_session拥有一个表。有人知道如何解决这个问题吗?
答案 0 :(得分:2)
我遇到了同样的问题,这花了我一段时间才发现......事情是Authlogic在数据库中没有表。当我们使用Rails生成创建会话时,这也会自动创建一个fixture,当然之后会因为没有表填充数据而失败。解决方案:删除user_sessions的夹具。
详细了解问题here
答案 1 :(得分:1)
确保您已在config / database.yml中正确定义了测试数据库,然后尝试rake db:test:prepare
或rake db:migrate RAILS_ENV=test
。