首页 > 解决方案 > 如何将 rspec 固定装置从文件加载到数据库中

问题描述

我正在使用带有 ruby​​ 2.4 和 gem 'rspec-rails', '~> 3.8' 的 rails 5
我正在为用户模型使用'devise' gem 其夹具为:夹具:users.yml

# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html

one:
  first_name: one
  last_name: Hotmail
  email: vidur.punj@gmail.com
#  password: 123greetings
  encrypted_password: <%= User.new.send(:password_digest, '123greetings') %>
  confirmed_at: <%= DateTime.now %>
  created_at: 2018-11-26 14:16:12
  updated_at: 2018-11-26 14:16:12

two:
  first_name: one
  last_name: Gmail
  email: vidur.punj@hotmail.com
#  password: 123greetings
  encrypted_password: <%= User.new.send(:password_digest, '123greetings') %>
  confirmed_at: <%= DateTime.now %>
  created_at: 2018-11-26 14:16:12
  updated_at: 2018-11-26 14:16:12

但我无法通过命令行将这些数据保存到数据库中。是的,写入时数据会保持不变

fixtures :users

在我的控制器内部,但是如何在测试模式下在项目字符串的启动时持续存在。
并且数据应该在以测试模式重新启动服务器时刷新。提前致谢

标签: rspecruby-on-rails-5rspec-railsruby-on-rails-5.2

解决方案


对于在应用程序启动之前可用的数据库设备,您需要执行此 rake 任务:

RAILS_ENV=test FIXTURES_PATH="spec/fixtures" rails db:fixtures:load

推荐阅读