Скопировано с сайта http://github.com/notahat/machinist/
Машинист облегчает создание тестовых данных в ваших тестах. Он генерирует данные для полей, которые вам не нужны, и создает все необходимые связанные объекты, оставляя вам возможность указать только те поля, которые вам нужны в ваших тестах
Простой проект может выглядеть так:
Post.blueprint do
title { Sham.title }
author { Sham.name }
body { Sham.body }
end
Затем вы можете построить пост из этого плана с помощью:
Post.make
Когда вы вызываете make, Machinist вызывает Post.new, затем просматривает атрибуты в вашем проекте, вызывая блок для каждого атрибута для генерации значения. Затем сообщение сохраняется и перезагружается. Исключение выдается, если сообщение не может быть сохранено.