Saya menggunakan konsol rel di lingkungan pengembangan dan saya ingin menggunakan pabrik. Bagaimana saya bisa mengaksesnya?
Saya telah mencoba require "FactoryGirl"
pengembalian yang mana
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
ruby-on-rails
factory-bot
Eric Baldwin
sumber
sumber
rails c
kemudian melakukanrequire 'factory_bot'
Jawaban:
Untuk mengatasi masalah ini, pastikan bahwa permata bot pabrik ditentukan dalam Gemfile Anda yang serupa dengan ini
group :development, :test do gem 'factory_bot_rails' end
Lalu
bundle install
.Ini akan membuat kelas FactoryBot tersedia di konsol pengembangan.
Semoga ini membantu.
sumber
gem 'factory_girl_rails', :require => false
akan menimbulkan kesalahan bagi siapa pun yang mencoba menyiapkan lingkungan pengembangan dari awal, berhati-hatilah.rails console test
, ini akan memungkinkan Anda untuk membuat konsol di lingkungan pengujian sehingga Anda tidak perlu memperbarui Gemfile Anda untuk menggunakan paket pengujian di lingkungan pengembanganSaya melakukan ini dengan cara berikut:
Mulai konsol rel di lingkungan pengujian dalam mode kotak pasir.
rails console -e test --sandbox
Anda memerlukan ini karena dua alasan:
Kemudian di konsol:
Membutuhkan FactoryBot (disebut FactoryGirl):
require 'factory_bot'
Muat definisi pabrik:
FactoryBot.find_definitions
Sertakan metode FactoryBot untuk menghindari awalan semua panggilan ke FB dengan
FactoryBot
(create
bukanFactoryBot.create
):include FactoryBot::Syntax::Methods
PS Untuk permata fabrikasi Anda dapat memuat definisi di konsol rel dengan:
Fabrication.manager.load_definitions
Juga
require 'faker'
jika Anda menggunakannya.sumber
require 'ffaker'
?fixture_file_upload
masalah metode yang tidak ditentukan , yang disebabkan oleh tidak adanyaActionDispatch::TestProcess
modul, jadi Anda dapat mempertimbangkan untuk menyertakannya jugarequire "factory_bot_rails"; include FactoryBot::Syntax::Methods; require 'ffaker'
rails c -e test --sandbox
Anda perlu
require 'factory_bot_rails'
, yang merupakan permata sebenarnya yang digunakan oleh Rails. Permata itu akan mencakup pustaka Bot Pabrik, pembuatanFactoryBot
tersedia.Anda dapat melakukan ini, atau memperbarui Gemfile Anda agar membutuhkannya saat startup seperti dalam jawaban muttonlamb.
sumber
require 'faker'
.