Geliştirme ortamında ray konsolu kullanıyorum ve fabrikaları kullanmak istiyorum. Onlara nasıl erişebilirim?
require "FactoryGirl"Hangi dönüşleri denedim
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
Geliştirme ortamında ray konsolu kullanıyorum ve fabrikaları kullanmak istiyorum. Onlara nasıl erişebilirim?
require "FactoryGirl"Hangi dönüşleri denedim
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
rails csonra yapabilirsinizrequire 'factory_bot'
Yanıtlar:
Bu sorunu çözmek için fabrika bot mücevherinin Gemfile'nizde buna benzer şekilde belirtildiğinden emin olun.
group :development, :test do
gem 'factory_bot_rails'
end
Sonra bundle install.
Bu, FactoryBot sınıfını geliştirme konsolunda kullanılabilir hale getirmelidir.
Bu yardımcı olur umarım.
gem 'factory_girl_rails', :require => false, geliştirme ortamını sıfırdan kurmaya çalışan herkes için hatalara neden olur, dikkatli olun.
rails console test, test ortamında bir konsol oluşturmanıza izin verecek, böylece geliştirme ortamında bir test paketi kullanmak için Gemfile'ınızı güncellemenize gerek kalmayacak
Bunu şu şekilde yapıyorum:
Sandbox modunda test ortamında raylar konsolunu başlatın.
rails console -e test --sandbox
Buna iki nedenden dolayı ihtiyacınız var:
Ardından konsolda:
FactoryBot gerektir (FactoryGirl olarak adlandırılıyordu):
require 'factory_bot'
Fabrika tanımlarını yükleyin:
FactoryBot.find_definitions
FB'ye yapılan tüm çağrıların FactoryBot( createyerine FactoryBot.create) öneklenmesini önlemek için FactoryBot yöntemlerini dahil edin :
include FactoryBot::Syntax::Methods
PS Fabrikasyon mücevheri için tanımları ray konsoluna şu şekilde yükleyebilirsiniz:
Fabrication.manager.load_definitions
Ayrıca require 'faker'kullanırsanız.
require 'ffaker'mı?
fixture_file_uploadyokluğunda neden oldu sorunu, ActionDispatch::TestProcessaynı zamanda onu da dahil düşünebilirsiniz böylece, modülün
require "factory_bot_rails"; include FactoryBot::Syntax::Methods; require 'ffaker'
rails c -e test --sandbox
Sen gerek require 'factory_bot_rails'Raylar tarafından kullanılmakta olan gerçek bir mücevher olan. Bu mücevher, Fabrika Bot kütüphanesini de içerecek ve kullanıma sunacak FactoryBot.
Bunu yapabilir veya Gemfile'ınızı muttonlamb'ın cevabında olduğu gibi başlangıçta gerektirecek şekilde güncelleyebilirsiniz.
require 'faker'.