0
我遇到了一個問題,其中對我的模型的自定義驗證導致所有shoulda驗證失敗。Shoulda Matcher自定義驗證導致所有shoulda驗證失敗
本質:
class User < ActiveRecord::Base
validates_presence_of :name
validate :some_date_validation
private
def some_date_validation
if date_given > birthday
errors.add(:birthday, "Some sort of error message")
end
end
end
然後在規格:
require 'rails_helper'
RSpec.describe User, type: :model do
describe "shoulda validations" do
it { should validate_presence_of(:name) }
end
end
這將導致我的測試失敗,因爲其他的驗證將無法通過。爲什麼是這樣?
我認爲我的例子不是最好的。我正在使用的驗證是要求在不同對象上的字段。我想我只需要在這個工廠中創建一個有效的嵌套對象。我認爲這有幫助,謝謝。 –