Использование машиниста вместо светильников - PullRequest
1 голос
/ 09 декабря 2010

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

   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 Ответ

4 голосов
/ 09 декабря 2010

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

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

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

...