如何在测试我的应用程序之前自动加载测试数据库中的数据?

2023-12-28

我正在使用 Ruby on Rails 3.0.9 和 RSpec 2。我想在test在测试我的应用程序之前先访问数据库。那是,在测试启动时(当我运行测试时)我想“自动填充”\“自动启动”测试数据库.

如何使用种子数据填充数据库?


P.S.:当我阅读周围时,(也许)我应该通过添加一些代码来填充测试数据库/spec/spec_helper.rb文件...但是什么代码以及如何?

In my task/custom.rake我有的文件:

namespace :test do
  desc "Boot database"
  task :boot => [:load, :seed] do
  end

  desc "Reboot database"
  task :reboot => [:purge, :boot] do
  end
end

如果您只想调用种子耙任务,我会这样做:

ENV['RAILS_ENV'] = 'test'
Rake::Task["db:seed"].invoke

但是,我建议使用 Fixtures (http://guides.rubyonrails.org/testing.html#the-low-down-on-fixtures)。

或者甚至更好的是像 Factory Girl (https://github.com/thoughtbot/factory_girl) 这样的固定装置替代品,这样您就可以加载带有所有关联数据的虚拟数据。这是一种不那么脆弱的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在测试我的应用程序之前自动加载测试数据库中的数据? 的相关文章

随机推荐