개발 환경에서 Rails 콘솔을 사용하고 있으며 팩토리를 사용하고 싶습니다. 액세스 권한을 얻으려면 어떻게해야합니까?
나는 require "FactoryGirl"
어떤 반환 을 시도했다
1.9.3p393 :301 > require "FactoryGirl"
LoadError: cannot load such file -- FactoryGirl
답변
이 문제를 해결하려면 팩토리 봇 gem이 다음과 같이 Gemfile에 지정되어 있는지 확인하십시오.
group :development, :test do
gem 'factory_bot_rails'
end
그런 다음 bundle install
.
그러면 개발 콘솔에서 FactoryBot 클래스를 사용할 수 있습니다.
도움이 되었기를 바랍니다.
답변
다음과 같은 방법으로 수행합니다.
-
샌드 박스 모드의 테스트 환경에서 Rails 콘솔을 시작합니다.
rails console -e test --sandbox
다음 두 가지 이유로 필요합니다.
- 모든 변경 사항이 롤백됩니다.
- 이미 일부 시드 데이터가있는 경우 팩토리가 1부터 속성 직렬화를 시작하지만 이러한 레코드가 이미 존재할 수 있습니다.
그런 다음 콘솔에서 :
-
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 'factory_bot_rails'
레일에 의해 사용되고 실제 보석이다. 이 gem에는 Factory Bot 라이브러리가 포함되어 FactoryBot
사용할 수 있습니다.
이 작업을 수행하거나 muttonlamb의 답변에서와 같이 시작시 필요하도록 Gemfile을 업데이트 할 수 있습니다.