Recherche…


Définir les usines

Si vous avez une classe ActiveRecord User avec des attributs de nom et de courrier électronique, vous pouvez créer une fabrique en faisant en sorte que FactoryGirl le devienne:

FactoryGirl.define do
  factory :user do # it will guess the User class
    name     "John"
    email    "[email protected]"
  end
end

Ou vous pouvez le rendre explicite et même changer son nom:

FactoryGirl.define do
  factory :user_jack, class: User do
    name     "Jack"
    email    "[email protected]"
  end
end

Ensuite, dans vos spécifications, vous pouvez utiliser les méthodes de FactoryGirl avec celles-ci, comme ceci:

# To create a non saved instance of the User class filled with John's data 
build(:user) 
# and to create a non saved instance of the User class filled with Jack's data
build(:user_jack)

Les méthodes les plus courantes sont:

# Build returns a non saved instance
user = build(:user)

# Create returns a saved instance
user = create(:user)

# Attributes_for returns a hash of the attributes used to build an instance
attrs = attributes_for(:user)


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow