Использование машиниста вместо светильников

В моем приложении Rails 3 у меня есть модель User со следующими полями

   name: string
   email: string
   children: has_many association to another model

Я использую машиниста 2 для создания макетных данных, его план выглядит так

User.blueprint do
   name { 'user{sn}' }
   email { '{object.name}@domain.com' }
end

И пользовательский юнит-тест:

require 'test_helper'

class UserTest < ActiveSupport::TestCase
  should have_many( :children )
  should validate_uniqueness_of( :email )
  should_not allow_value("blah").for(:email)
  should_not allow_value("b lah").for(:email)
  should allow_value("a@b.com").for(:email)
  should allow_value("asdf@asdf.com").for(:email)
end

Когда я сгенерировал пользовательскую модель, она создала файл фикстуры. Насколько я понимаю, когда я бегу rake Rails использует этот файл фикстур для генерации объектов, используемых в тестах. Что не то, что я хочу. Я хочу, чтобы Rails без проблем использовал чертежи машиниста, поскольку он использует файл креплений.

Есть ли способ сделать это? Есть ли какой-нибудь способ сообщить рельсам, что им нужно использовать чертежи вместо светильников?

1 ответ

Решение

Добавьте это в config/application.rb:

config.generators do |g|
  g.fixture_replacement :machinist
end

Вы также можете безопасно удалить старую папку с осветителями, если вы не хотите хранить их явно!

Другие вопросы по тегам