Programing

Rails 콘솔에서 FactoryGirl의 팩토리를 사용하는 방법

crosscheck 2020. 9. 18. 07:36
반응형

Rails 콘솔에서 FactoryGirl의 팩토리를 사용하는 방법


개발 환경에서 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 test --sandbox
    

다음 두 가지 이유로 필요합니다.

  1. 모든 변경 사항은 롤백됩니다.
  2. 이미 일부 시드 데이터가있는 경우 팩토리가 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_girl_rails'Rails에서 사용하는 실제 gem 인이 필요합니다 . 이 보석에는 Factory Girl 라이브러리가 포함되어 FactoryGirl을 사용할 수 있습니다.

이 작업을 수행하거나 muttonlamb의 답변에서와 같이 시작시 필요하도록 Gemfile을 업데이트 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/18195851/how-do-i-use-factories-from-factorygirl-in-rails-console

반응형