Authlogic导致所有rails测试失败

时间:2011-02-01 02:46:22

标签: ruby-on-rails unit-testing ruby-on-rails-3 authlogic

我正在使用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拥有一个表。有人知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,这花了我一段时间才发现......事情是Authlogic在数据库中没有表。当我们使用Rails生成创建会话时,这也会自动创建一个fixture,当然之后会因为没有表填充数据而失败。解决方案:删除user_sessions的夹具。

详细了解问题here

答案 1 :(得分:1)

确保您已在config / database.yml中正确定义了测试数据库,然后尝试rake db:test:preparerake db:migrate RAILS_ENV=test