我们说我有两个模型,其中一个需要另一个模型的存在才能验证:
class Mother < ActiveRecord::Base
has_many :kids
end
class Kid < ActiveRecord::Base
belongs_to :mother
validates_presence_of :mother
end
当我为模特儿童编写测试时,我要测试的第一件事是,如果没有母亲存在(即保留在数据库中),就无法保存儿童。但是,要做到这一点,我需要先让我的测试创建一个母亲。
处理这种情况的最佳方法是什么?我应该:
答案 0 :(得分:0)
在没有母亲的情况下初始化母亲和孩子:
mother = Mother.new
PUIS
kid = Kid.new
当你尝试像这样坚持一个孩子时,你可以先编写一个引发错误的规范:
expect { kid.save! }.to raise_error
然后,设置母亲kid.mother = mothe
。
并期望这次坚持这个孩子没有错误。