我正在尝试使用工厂女孩来测试我在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
知道我做错了吗?
答案 0 :(得分:1)
为了确定您的错误范围,请尝试在您的操作中投放debugger
:
def create
@event = Event.new(params[:event])
debugger
@event.save
end
看看你是否通过男性方式解决了@ event.save以及哪些错误可能会阻止这种情况。 :d