11

簡単に思えますが、これを機能させる方法を理解できませんでした。

model.rb で:

def Model
  attr_accessor :width,
                :height

  def initialize params
    @width = params[:width]
    @height = params[:height]
    ...

ファクトリ ファイル内models.rb:

FactoryGirl.define do
  factory :model do
    height 5
    width 7
  end
end

ファクトリ メソッドで属性を設定するとエラーがスローされるwrong number of arguments (0 for 1)

を使用して、Rails を使用せずに Ruby 1.9.3 で作業しFactory.buildます。ファクトリーガール 4.1.

編集:詳細:

RSpec の使用:let(:model) { FactoryGirl.build :model }

4

1 に答える 1

31

これはあなたのクラスで動作するはずです:

FactoryGirl.define do

  factory :model do
    skip_create

    width 5
    height 9

    initialize_with { new(attributes) }
  end
end

-新しいオブジェクトに対して通常呼び出されるデフォルトのアクションskip_createをバイパスします。save!

-メソッドは、を使用してattributes渡すことができるハッシュを生成します。newinitialize_with

于 2012-10-18T16:25:48.727 に答える