カスタム バリデータを使用して rspec の期待値を実行すると、このエラーが発生します。
expect {@ua.save!}.to raise_error(ActiveRecord::RecordInvalid,'Validation failed: This question is no longer active')
で失敗します
expected ActiveRecord::RecordInvalid with "Validation failed: This question is no longer active", got #<ActiveRecord::RecordInvalid: Validation failed: This question is no longer active.> with backtrace:
これは、私のカスタム検証にのみ問題があるようです。このモデルを参照してください:
class UserAnswer < ActiveRecord::Base
belongs_to :user
belongs_to :question
validate :questionIsActive?
private
def questionIsActive?
errors.add(:base, "This question is no longer active.") if !self.question.is_active?
end
end
使用: Rails 3.2.11 Rspec-rails 2.12.2