Мне нравится использовать Шам камень .Пока у вас непостоянная модель, соответствующая некоторым базовым деталям реализации, все будет в порядке.Например, в моем приложении Rails я сделал бы следующее:
# sham/dog_sham.rb
class Dog::Sham
def self.options
{ name: "Barney" }
end
end
# app/models/dog.rb
class Dog < Struct.new(:name)
def self.create options
self.new(options[:name])
end
end
Затем в консоли я могу создать фабричного пса с помощью команды sham:
Sham::Config.activate!
Dog.sham!
=> #<struct Dog name="Barney">