有没有等价于
it { should validate...
it { should validate_uniqueness_of(
等
validates_associated
就像是,
it { should validate_associate(:associated_model_object)
除了,你知道,功能。
谢谢!
有没有等价于
it { should validate...
it { should validate_uniqueness_of(
等
validates_associated
就像是,
it { should validate_associate(:associated_model_object)
除了,你知道,功能。
谢谢!
我认为这样的事情会起作用:
it "should validate associate_model_object" do
m = Model.new(valid_params)
m.associated_models.build(invalid_params)
m.save.should eq(false)
end
如果您来自另一个方向,请用此替换中间线:
m.build_associated_model(invalid_params)
由于缺少 validates_associated 的内置匹配器,我这样写:
it { is_expected.not_to validate_presence_of(:child) }
context 'when child is present' do
let(:child) { FactoryBot.create(:child) }
before { subject.child = child }
it { is_expected.to be_valid }
context 'when child is present but not valid' do
before { child.age = -1 }
it { is_expected.not_to be_valid }
end
end
这一行:before { child.age = -1 }
需要一些关于Child
's 验证的知识。从 's 单元测试的上下文来看,这并不理想Parent
,但这肯定不是我犯过的最糟糕的编程罪。