3
我有以下规格:我不能保存的对象与RSpec的2和FactoryGirl
it "saves a default 'active' status if not specified" do
if User.count <= 0
user = User.new(FactoryGirl.attributes_for(:user))
user.save
end
project = FactoryGirl.create(:project, :status => nil)
project.status.should eq("active")
end
有了这个FactoryGirl对象:
factory :project do
title "A short title"
description "A short description"
parent_id 1
pm_id 1
status "active"
end
该项目的模型验证关联的存在。 ..所以,在测试之前,我想将用户保存在测试数据库中。但上面的代码不会在数据库中保存任何内容。
相反,如果我一前添加(:所有)块:
之前(:所有)做 @user = User.new(FactoryGirl.attributes_for(:用户)) @ user.save 结束
新用户被保存到数据库中。为什么?
该项目的模型belongs_to用户通过pm_id foreign_key,我在模型中指定。真棒:)你的建议工作正常!我是Rspec和factory_girl的新手,但每天都会发现很棒的东西。 –
很高兴帮助! – Andy