我正在運行rails 3.0,rspec 2.0和factory_girl。這是簡化的場景我的工作:與factory_girl,rpsec 2.0和rails 3.0問題=>無法使has_one關係很好地結合在一起!
:用戶可以在同一時間
# user.rb
class User < ActiveRecord::Base
has_one :plan
attr_accessible :login, :plan_id
end
# plan.rb
class Profile < ActiveRecord::Base
attr_accessible :plan
end
# user_factory.rb
Factory.define :user do |u|
u.login "test"
u.association :plan
end
#plan_factory.rb
Factory.define :plan do |p|
p.name "plan1"
end
當我運行rspec的規格/型號/ user_spec.rb我得到這個錯誤訂閱只有一個計劃故障/錯誤:用戶=廠(:用戶) 的SQLite3 :: ConstraintException:users.plan_id不能爲null
#spec/models/user_spec.rb
require File.dirname(__FILE__) + '/../spec_helper'
describe User do
it "should be valid" do
user = Factory(:user)
#User.new.should be_valid
user.should be_valid
end
end
什麼,我做錯了什麼?我堅持這個非常簡單的方案,這是非常令人沮喪的。在那個時候,BDD讓我變得像地獄一樣!
你建立了你的測試數據庫嗎? 'rake db:test:prepare' – Trip 2010-10-14 00:19:36