我正在使用 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(使用前将#替换为@)