Поиск…


Определение заводов

Если у вас есть класс ActiveRecord User с атрибутами имени и электронной почты, вы можете создать для него завод, сделав FactoryGirl угаданием:

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

Или вы можете сделать это явным и даже изменить его имя:

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

Затем в вашей спецификации вы можете использовать методы FactoryGirl с ними, например:

# 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)

Наиболее распространенными методами являются:

# 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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow