ActiveRecordを継承しているクラスで標準実装されている==
メソッドが動き、newしたインスタンスが本当に一意でなくても同じものと判断されてテストが通る。
今回はActiveRecordを継承してないクラスのモデルで==
メソッドをオーバーライドし、意図的にテストを通した。
class Book
include ActiveModel::Model
...
def ==(comparison_object)
super || (comparison_object.instance_of?(self.class) && attendances == comparison_object.attendances)
end
alias :eql? :==
end