ruby-on-rails - Rails 5,Rspec : Environment data not found in the schema

标签 ruby-on-rails rspec rspec-rails ruby-on-rails-5

将 Rails 应用程序升级到 Rails 5 后,运行 RSpec 测试会出现以下错误:

rails aborted!
ActiveRecord::NoEnvironmentInSchemaError: 

Environment data not found in the schema. To resolve this issue, run: 

    bin/rails db:environment:set RAILS_ENV=test

但是,bin不存在,我似乎无法使用 bundle binstubs rails 生成它或与 rake rails:update:bin .

我也尝试过:

rails db:environment:set RAILS_ENV=test
rake db:environment:set RAILS_ENV=test

Github 上有一个相关问题 here .

如何解决此错误?

最佳答案

用于生成 binstub 的新 Rails 5 命令:

rails app:update:bin

允许我按照错误建议运行解决方案:

bin/rails db:environment:set RAILS_ENV=test

来自 @max 评论的提示:如果您正在使用 database_cleaner 并且此错误不断弹出,请将您的配置更改为:

DatabaseCleaner.clean_with(
  :truncation,
  except: %w(ar_internal_metadata)
)

关于ruby-on-rails - Rails 5,Rspec : Environment data not found in the schema,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38209186/

相关文章:

ruby-on-rails - 语法错误,意外的 tIDENTIFIER,期待 keyword_end

ruby-on-rails - 如何在 RSpec 中测试空白/空字符串以进行包含验证?

ruby-on-rails - 带有 url 参数的 Rspec View 测试

ruby - 升级到 Rails 4,我无法通过在 Rails 3 中通过的设计测试

javascript - 处理3d模型上的点击事件

ruby-on-rails - 如何在 mongo_mapper + Rails 中为每条记录设置单独的键

selenium - 使用 capybara 或 selenium 在不同选项卡之间切换

rspec - 将 devise-async gem 与 RSpec 结合使用

ruby-on-rails - 启动 Ruby on Rails 应用程序时无法通过 AWS Elastic Beanstalk "Congratulations"屏幕

ruby-on-rails - solr sunspot 精确搜索词