0

factory girl を使用して、レールで作成アクションをテストしようとしています。私は得続けます:

"Event.count" didn't change by 1.
<2> expected but was
<1>.

テストを実行するとき。テストやコントローラーを変更するために何かをしたとは思わない:

私のテストは次のようになります。

test "should get create" do
    assert_difference('Event.count') do
      post :create, FactoryGirl.attributes_for(:event)
    end
    assert_not_nil assigns(:event)
    assert_response :success
  end

私も同じように使っFactoryGirl.build(:event)てみました。私は以前にそれを使用したことがあり、私が読んだことから使用する方法は正しいと思います.

ここに私の工場があります:

   factory :event do
        name 'First Event'
        street '123 street'
        city 'Chicago'
        state 'IL'
        date '1/12/2012'
      end

これが私のコントローラーアクションです

def create
    @event = Event.new(params[:event])
    @event.save
end

私が間違っていることは何か分かりますか?

4

1 に答える 1

1

エラーをスコープアウトするdebuggerには、アクションで a をスローしてみてください:

def create
  @event = Event.new(params[:event])
  debugger
  @event.save
end

@event.save を手動で解決するかどうか、およびそれを妨げる可能性のあるエラーを確認してください。:D

于 2012-08-19T22:09:27.130 に答える