Я использую рельсы 3.0, rspec 2.0 и factory_girl. Вот упрощенный сценарий, с которым я работаю: пользователь может подписаться только на один тарифный план за раз
# 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 spec / models / 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 замедляет меня, как ад!