测试创建操作时出错

时间:2012-08-19 21:18:23

标签: ruby-on-rails ruby-on-rails-3 unit-testing testing ruby-on-rails-3.2

我正在尝试使用工厂女孩来测试我在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

知道我做错了吗?

1 个答案:

答案 0 :(得分:1)

为了确定您的错误范围,请尝试在您的操作中投放debugger

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

看看你是否通过男性方式解决了@ event.save以及哪些错误可能会阻止这种情况。 :d