Драгоценные камни типа Factory Girl и Шам позволяют создавать шаблоны для допустимых и повторно используемых объектов.Они были созданы в ответ на данные, которые фиксировали записи, которые должны были быть загружены в базу данных.Они позволяют больше настроек при создании экземпляров объектов и стремятся к тому, чтобы у вас был действительный объект для работы.Они могут использоваться где угодно в ваших тестах и в ваших тестах до и после.
до (: каждый), до (: все), после (: каждый) и после (: все) все стремятся датьу вас есть место, где можно выполнить настройку и разборку, которая будет использоваться в тестовой группе.Например, если вы собираетесь создавать нового действительного пользователя для каждого отдельного теста, то вы захотите сделать это в своем хуке before (: each).Если вы собираетесь очистить некоторые файлы из файловой системы, вы хотите сделать это в хуке перед.Если все ваши тесты создают файл tmp и вы хотите удалить его после теста, вы сделаете это в своем хуке after (: each) или after (: all).
Отличия этих двух концепцийДело в том, что фабрики не нацелены на создание хуков вокруг ваших тестов, они нацелены на создание допустимых объектов и записей Ruby, чтобы вы могли сохранять создание объектов гибким и сухим.Перехватчики до и после предназначены для задач настройки и разрыва, которые совместно используются в группе примеров, чтобы вы могли сохранить код настройки и разрыва СУХИМ.