我需要写一个rspec的test.I有谁是与工厂创建莫名其妙创建方法父子实例变量。现在,我需要创建一个孩子,同父。
我呼吁创建(:class_a,ID:class_b.id)
从标签和上下文,我会假设你使用工厂机器人。如果你的工厂是正确的,你的测试可能会是这个样子(我要重命名模型“父”和“孩子”):
require 'rails_helper'
RSpec.describe Parent, type: :model do
let(:parent) { create(:parent) }
let!(:kid1) { create(:kid, parent_id: parent.id) }
let!(:kid2) { create(:kid, parent_id: parent.id) }
it 'is has 2 children' do
expect(parent.kids.length).to eq(2)
expect(kid1[:parent_id]).to eq(parent.id)
end
end
先放过语句创建父的实例,但在测试中的某个地方只使用变量“父”后。第二和第三让利语句创建一个名为“KID1”和“KID-”孩子类的2个不同的实例。请注意!之后let语句?这意味着建立孩子正确的题。并创建了孩子们的时候,在创建父过,因为在创建孩子当“父”变量使用。
现在,你可以在它的块内写这样的一个测试英寸