在我的代码中,我使用 Shoulda 匹配器进行了以下验证,效果很好:
it { should validate_presence_of(:name) }
在我的模型中,我已将条件添加到我的验证中:
validates_presence_of :name, :if => eligible?
是否可以在验证中反映它?
我试过查看 shoulda 匹配器的文档,但无法找到解决方案。
非常感谢!
在我的代码中,我使用 Shoulda 匹配器进行了以下验证,效果很好:
it { should validate_presence_of(:name) }
在我的模型中,我已将条件添加到我的验证中:
validates_presence_of :name, :if => eligible?
是否可以在验证中反映它?
我试过查看 shoulda 匹配器的文档,但无法找到解决方案。
非常感谢!
shoulda_matchers 似乎没有这样做,但是自己编写它很容易::
context "if eligible" do
before { allow(subject).to receive(:eligible?).and_return(true) }
it { should validate_presence_of(:name) }
end
context "if ineligible" do
before { allow(subject).to receive(:eligible?).and_return(false) }
it { should_not validate_presence_of(:name) }
end