废话: 最近终于开始写业务测试了, 但是运行rspec的时候,出现如下的错误。

Error:

ActiveRecord::NoEnvironmentInSchemaError:

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

	bin/rails db:environment:set RAILS_ENV=test

原因:

database_cleaner清除了ar_internal_metadata

解决方法:

  1. 运行bin/rails db:environment:set RAILS_ENV=test
  2. 在database_cleaner的配置中,添加如下选项
DatabaseCleaner.clean_with :truncation, except: %w(ar_internal_metadata)

参考: