Я обнаружил, что улов - это то, как вы настраиваете Gemfile - вам нужно что-то делать в строках
gem 'factory_girl'
group :test do
gem 'factory_girl_rails'
end
Мы обнаружили проблемы с factory_girl_rails за пределами тестовой среды, которой нам не удалось разобраться (возможно, что-то связано с тем, как rails выполняет кэширование классов?)
Как только это будет сделано, мне нравится загружать данные из библиотеки в lib, что-то вроде...
require 'factory_girl'
require 'spec/factories/user_factory'
module Seeds
class SampleUsers
def self.run
u = Factory(:user)
end
end
И затем запустить этот метод из db: seed, используя
Seeds::SampleUsers.run
Ответ 2
Все, что вам нужно сделать, это добавить "require" factory_girl_rails "сделать файл db/seeds.rb. Это даст вам доступ к вашим заводам.
require 'factory_girl_rails'
10.times do
FactoryGirl.create :user
end
Ответ 5
Вы можете вставить следующий код в свой spec_helper.rb и сделать некоторые экземпляры данных, которые вы хотите (в данном случае "продукты" из файла yaml):
seeds_file = File.join(Rails.root, 'db', 'seeds.yml')
config = YAML::load_file(seeds_file)
config["products"].each do |product|
FactoryGirl.create(:product, product) if !Product.find_by_name(product['name'])
end