Je cours des rails 3.0, rspec 2.0 et factory_girl. Voici le scénario simplifié, je travaille avec: un utilisateur peut souscrire à un seul plan à la foisproblème avec factory_girl, rpsec 2.0 et rails 3.0 => impossible d'obtenir has_one relation travaillant bien ensemble!
# 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
quand je lance spec rspec/modèles/user_spec.rb Je suis cette erreur:
panne/erreur: user = usine (: user) SQLite3 :: ConstraintException: users.plan_id ne peut pas être 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
ce que je fais mal? Je suis coincé avec ce scénario très simple, et c'est très frustrant. à ce moment BDD me ralentir comme l'enfer!
avez-vous construit votre db de test? 'rake db: test: préparer' – Trip