tutorial rails factorybot example bot ruby-on-rails factory-bot

ruby on rails - rails - ¿Cómo uso las fábricas de FactoryGirl en la consola de rieles?



rspec factory bot (3)

Hago esto de la siguiente manera:

  • Inicie la consola de rieles en el entorno de prueba en el modo sandbox.

    rails console test --sandbox

Necesitas esto por dos razones:

  1. Cualquier cambio que hagas se deshace.
  2. Si ya tiene algunos datos semilla, puede suceder que las fábricas comiencen la serialización de atributos desde 1, pero es posible que estos registros ya existan.

Luego en la consola:

  • Requerir FactoryBot (fue llamado FactoryGirl):

    require ''factory_bot''

  • Cargue las definiciones de fábrica:

    FactoryBot.find_definitions

  • Incluya los métodos FactoryBot para evitar el prefijo de todas las llamadas a FB con FactoryBot ( create lugar de FactoryBot.create ):

    include FactoryBot::Syntax::Methods

PS Para la gema de fabricación puede cargar las definiciones en la consola de rieles con:

Fabrication.manager.load_definitions

También require ''faker'' si lo usas.

Estoy usando la consola de rieles en el entorno de desarrollo y quiero usar fábricas. ¿Cómo puedo acceder a ellos?

He intentado require "FactoryGirl" que devuelve

1.9.3p393 :301 > require "FactoryGirl" LoadError: cannot load such file -- FactoryGirl


Necesitas require ''factory_girl_rails'' , que es la gema real que están utilizando Rails. Esa gema incluirá la biblioteca Factory Girl, haciendo que FactoryGirl esté disponible.

Puede hacer esto o actualizar su Gemfile para que lo requiera al inicio como en la respuesta de muttonlamb.


Para resolver este problema, asegúrese de que la gema bot de fábrica esté especificada en su Gemfile similar a este

group :development, :test do gem ''factory_bot_rails'' end

A continuación, bundle install .

Esto debería hacer que la clase FactoryBot esté disponible en la consola de desarrollo.

Espero que esto ayude.