我通过设置我的database.yml文件将表单SQLite切换到PostgreSQL进行rspec测试:
test:
adapter: postgresql
encoding: unicode
database: testdb
hostname: localhost
pool: 10
username: USERNAME
password: PASSWORD
我已经运行了rake db:migrate
并且已经验证了使用psql控制台生成了表/列。
我试图运行我的rspec控制器测试,但是我收到一堆错误,说它可以找到一个id = what
的模型接下来,我通过rails console test
进入我的rails控制台并使用model.create!(valid attributes here)
创建一个模型我最终收到提示消息,表明它已成功,但运行Model.find(1)
收益一个ActiveRecord错误,说那里什么都没有......
我尝试过的另一个实验是将我的'test'指向我的开发数据库(也运行psql),并且测试成功通过,所以我的测试PostgreSQL数据库确实存在问题。
如果我可能需要查看任何特殊文件或权限,那么任何帮助都将受到高度赞赏!
更新:尝试rake db:test:prepare
并使用psql控制台和rails控制台检查测试数据库...没有数据从我的开发数据库复制到测试数据库O.O
答案 0 :(得分:0)
运行RAILS_ENV=test rake db:reset