我需要用数据填充测试开发数据库,比如用factorygirl
,但我想在rails控制台中使用它。
我该如何将示例数据放入数据库以便从控制台获取并进行一些测试?
我需要用数据填充测试开发数据库,比如用factorygirl
,但我想在rails控制台中使用它。
我该如何将示例数据放入数据库以便从控制台获取并进行一些测试?
Faker也是一个不错的解决方案。
这是我的lib/tasks/sample_data.rake
文件的样子。 我使用rake db:populate
运行它。
创建50个带有随机信息的条目。
require 'faker'
namespace :db do
desc "Fill database with sample data"
task :populate => :environment do
Rake::Task['db:reset'].invoke
50.times do |n|
name = Faker::Company.name
year = 1900+rand(111)
rating = 1+rand(10)
watched = (1 == rand(2) ? true : false)
imdb_id = rand(1000000)
Movie.create!(:name => name,
:year => year,
:rating => rating,
:watched => watched,
:imdb_id => imdb_id)
end
end
end
lib/tasks/sample_data.rake
...文件后缀错误,rake无法找到这个任务! - zhongxiao37我制作了一个名为test_dummy的宝石,它类似于Factory Girl,用于定义大量虚假数据。当正确配置后,您可以像这样操作:
# Create 100 fake companies
100.times { Company.create_dummy }
# Create a single fake company on-demand
fake_company = Company.create_dummy
db/seeds.rb
工具或将测试数据加载到开发环境中。seeds.rb
还是 sample_data.rb
中? - methylseeds.rb
是为了你的应用程序正常运行所需的真实数据。例如,一份邮政编码、州、国家、税务规则或其他信息的清单。 - iconoclasthttp://ruby.railstutorial.org/chapters/user-microposts#sec:sample_microposts
https://github.com/railstutorial/sample_app/blob/master/lib/tasks/sample_data.rake
这只是在Rails控制台中还是'从控制台'中执行?
我喜欢使用Thor或Rake任务来完成这个操作。我使用Machinist而不是Factory Girl。
你可能想要查看这个答案
Rails: Good Rspec2 example usage? (Also: Cucumber, Pickle, Capybara)