Ruby on rails 测试创建操作时出错
我正在尝试使用factory girl来测试我在rails中的创建操作。我不断得到:Ruby on rails 测试创建操作时出错,ruby-on-rails,ruby-on-rails-3,unit-testing,testing,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3,Unit Testing,Testing,Ruby On Rails 3.2,我正在尝试使用factory girl来测试我在rails中的创建操作。我不断得到: "Event.count" didn't change by 1. <2> expected but was <1>. 我也尝试过使用FactoryGirl.build(:event)。我以前用过,我认为从我所读到的内容来看,这是正确的方法 这是我的工厂: factory :event do name 'First Event' street '1
"Event.count" didn't change by 1.
<2> expected but was
<1>.
我也尝试过使用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
你知道我做错了什么吗?为了找出你的错误,试着在你的操作中抛出一个
调试器
:
def create
@event = Event.new(params[:event])
debugger
@event.save
end
查看是否手动解析@event.save,以及哪些错误可能会阻止此操作:D我很好奇它的错误是否是因为模型验证而导致的,因此没有保存。您是否有异常处理程序来检查错误?如果没有,您可以轻松地
debugger
创建前的一行,并查看实例变量是否正确验证。我没有对事件模型进行验证。这也是我的第一个想法。如果在实例化@event
之后通过调试器进行编写,会怎么样。然后尝试手动保存它。这个物体会产生吗?多亏了你的建议,我才知道。我有一个before_过滤器阻止保存。
def create
@event = Event.new(params[:event])
debugger
@event.save
end