如何将 factory_girl 用于调试数据
How to use factory_girl for debug data
我用Rails4
.
固定装置
我使用 fixtures
作为 调试数据 。
但是
$ bin/rake db:fixtures:load FIXTURES_PATH=spec/fixtures
不是 运行 before_validation
和其他回调。
factory_girl
我使用 factory_girl
进行 测试。
喜欢
$ bundle exec rspec spec/models/foo_spec.rb
.
种子
我知道如何在 seed
中使用 factory_girl
$ bundle exec rake db:seed
但我只想将 seed
用于 主数据 .
问题
如何使用 factory_girl
获取 调试数据 。我使用什么命令?(rake ??
或 spec
或其他命令?)
创建一个使用工厂创建调试数据的 rake 任务。例如,如果您有一个名为 Report
:
的模型(和相应的工厂)
namespace :db do
desc "Fill database with debug data"
task :debug_data => :environment do
puts "Destroy existing data?"
if STDIN.gets.chomp.upcase == 'Y'
if Rails.env.production?
raise "\nI'm sorry, Dave, I can't do that.\n(You're asking me to drop your production database.)"
end
Report.destroy_all
end
FactoryGirl.create(:report, name: 'Fred')
FactoryGirl.create(:report, name: 'Barney')
end
将此文件放在:lib/tasks/debug_data.rake
执行它使用:
bundle exec rake db:debug_data
我用Rails4
.
固定装置
我使用 fixtures
作为 调试数据 。
但是
$ bin/rake db:fixtures:load FIXTURES_PATH=spec/fixtures
不是 运行 before_validation
和其他回调。
factory_girl
我使用 factory_girl
进行 测试。
喜欢
$ bundle exec rspec spec/models/foo_spec.rb
.
种子
我知道如何在 seed
中使用 factory_girl
$ bundle exec rake db:seed
但我只想将 seed
用于 主数据 .
问题
如何使用 factory_girl
获取 调试数据 。我使用什么命令?(rake ??
或 spec
或其他命令?)
创建一个使用工厂创建调试数据的 rake 任务。例如,如果您有一个名为 Report
:
namespace :db do
desc "Fill database with debug data"
task :debug_data => :environment do
puts "Destroy existing data?"
if STDIN.gets.chomp.upcase == 'Y'
if Rails.env.production?
raise "\nI'm sorry, Dave, I can't do that.\n(You're asking me to drop your production database.)"
end
Report.destroy_all
end
FactoryGirl.create(:report, name: 'Fred')
FactoryGirl.create(:report, name: 'Barney')
end
将此文件放在:lib/tasks/debug_data.rake
执行它使用:
bundle exec rake db:debug_data