0

我正在尝试使用工厂女孩来测试我在 Rails 中的创建操作。我不断得到:

"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 回答