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 c
sonra 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
( create
yerine 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_upload
yokluğunda neden oldu sorunu, ActionDispatch::TestProcess
aynı 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'
.