我是Ruby on Rails的新手,正在学习Michael Hartls Ruby on Rails教程。当我运行bundle rake exec测试时,我得到了这个错误:
ERROR["test_should_get_new", SessionsControllerTest, 2.331314]
test_should_get_new#SessionsControllerTest (2.33s)
ActiveRecord::StatementInvalid:
ActiveRecord::StatementInvalid: Could not find table 'users'对我所有的测试都是相似的。我看到我的测试数据库: test.sqlite3是空的。我的开发数据库development.sqlite3中有users表。
我尝试运行以下命令,试图将用户数据库克隆到测试数据库,但什么都不起作用:
rake db:migrate:reset
rake db:migrate db:test:prepare
rake db:test:clone
rake db:test:prepare
rake db:test:load但它仍然是空的。有什么建议吗?
发布于 2015-12-21 05:26:30
我认为你可以通过以下方式获得它:
RAILS_ENV=test rake db:migrate试一试,我以前也遇到过这个问题。我相信
rake db:test:prepare已弃用。你使用的是什么版本的ruby和rails?
发布于 2015-12-21 11:59:18
我想出了一个解决办法,尽管我仍然不确定为什么一开始就会有问题。我所做的是获取用于创建开发表的纯Sql CREATE table,并在users表中执行它。现在一切都很好。
https://stackoverflow.com/questions/34384607
复制相似问题