1

私のRails 3アプリケーションには、次のフィールドを持つUserモデルがあります。

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

私は machinist 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がフィクスチャ ファイルを使用するのと同じように、機械工の設計図をシームレスに使用するようにしたいと考えています。

これを行う方法はありますか?フィクスチャの代わりにブループリントを使用する必要があることをレールに伝える方法はありますか?

4

1 に答える 1

4

これを config/application.rb に追加します。

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

古いフィクスチャ フォルダも、明らかに保持したくない場合を除き、安全にゴミ箱に捨てることができます。

于 2010-12-09T17:03:50.247 に答える