Rspec 继续使用开发数据库

Rspec keeps using development database

我在 database.yml 中有不同的开发和测试数据库。

我在文件 rails_helper.rbspec_helper.rb 的开头都有 ENV['RAILS_ENV'] = 'test',它们是用 rspec 初始化命令生成的。

此外,我试过 Rails.env = 'test' 没有成功。

我运行rspec作为RAILS_ENV=test rake spec

我在初始化脚本的任何地方都没有 ENV['RAILS_ENV'] 设置或 Rails.env 设置。

但是,Rspec 继续使用开发数据库而不是测试数据库。

我在互联网上查了很多类似的问题,但都没有答案。

有什么解决办法吗?

您使用的 rails 是什么版本?试试耙子 db:test:prepare。在 Rails 4+ 中,它已被弃用但仍然有效。似乎在 rails 4.1+ 中,会自动检查迁移,运行 db:schema:load 就可以了。