개발 환경에서 Rails 콘솔을 사용하고 있으며 팩토리를 사용하고 싶습니다. 액세스 권한을 얻으려면 어떻게해야합니까?
나는 require "FactoryGirl"
어떤 반환 을 시도했다
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
개발 환경에서 Rails 콘솔을 사용하고 있으며 팩토리를 사용하고 싶습니다. 액세스 권한을 얻으려면 어떻게해야합니까?
나는 require "FactoryGirl"
어떤 반환 을 시도했다
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
rails c
다음 것은 할require 'factory_bot'
답변:
이 문제를 해결하려면 팩토리 봇 gem이 다음과 같이 Gemfile에 지정되어 있는지 확인하십시오.
group :development, :test do
gem 'factory_bot_rails'
end
그런 다음 bundle install
.
그러면 개발 콘솔에서 FactoryBot 클래스를 사용할 수 있습니다.
도움이 되었기를 바랍니다.
gem 'factory_girl_rails', :require => false
처음부터 개발 환경을 설정하려는 모든 사람에게 오류가 발생하므로 조심하십시오.
rails console test
, 당신이 개발 환경에서 테스트 패키지를 사용하도록 Gemfile을 업데이트 할 필요가 없습니다 있도록 테스트 환경에서 콘솔을 만들 수 있습니다
다음과 같은 방법으로 수행합니다.
샌드 박스 모드의 테스트 환경에서 Rails 콘솔을 시작합니다.
rails console -e test --sandbox
다음 두 가지 이유로 필요합니다.
그런 다음 콘솔에서 :
FactoryBot 필요 (이전 이름은 FactoryGirl) :
require 'factory_bot'
팩토리 정의를로드합니다.
FactoryBot.find_definitions
FB에 대한 모든 호출에 FactoryBot
( create
대신 FactoryBot.create
) 접두사를 붙이지 않도록 FactoryBot 메서드를 포함합니다 .
include FactoryBot::Syntax::Methods
추신 : Fabrication gem의 경우 다음을 사용하여 rails 콘솔에 정의를로드 할 수 있습니다.
Fabrication.manager.load_definitions
또한 require 'faker'
그것을 사용하는 경우.
require 'ffaker'
합니까?
fixture_file_upload
의 부재로 인해 발생 된 문제, ActionDispatch::TestProcess
당신은 또한 그것을 포함하여 고려할 수 있도록, 모듈
require "factory_bot_rails"; include FactoryBot::Syntax::Methods; require 'ffaker'
rails c -e test --sandbox