我正在尝试使用 factory girl 来测试我在 Rails 中的创建操作。我不断得到:
"Event.count" didn't change by 1.
<2> expected but was
<1>.
当我运行测试时。我认为我没有做任何改变我的测试或 Controller 的事情:
我的测试是这样的:
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
这是我的 Controller Action
def create
@event = Event.new(params[:event])
@event.save
end
知道我做错了什么吗?
最佳答案
为了确定您的错误范围,请尝试在您的操作中添加一个调试器
:
def create
@event = Event.new(params[:event])
debugger
@event.save
end
看看您是否手动解决了 @event.save 以及哪些错误可能会阻止它。 :D
关于ruby-on-rails - 错误测试创建操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12030096/