Rspecでは、idを無視して2つのActiveRecordオブジェクトを比較する良い方法がありますか?& c?たとえば、XMLから1つのオブジェクトを解析して、フィクスチャからもう1つのオブジェクトを読み込んでいるとします。私がテストしているのは、XMLパーサが正しく動作することです。私が現在持っているのはActiveRecordオブジェクトとRspecの比較
actual.attributes.reject{|key,v| %w"id updated_at created_at".include? key } == expected.attributes.reject{|key,v| %w"id updated_at created_at".include? key }
のカスタムマッチャーですが、もっと良い方法があるのだろうかと思っています。
もう少し複雑ですが、に同じようなことをする方法があります? XMLパーサーは元のオブジェクトに属しているいくつかのオブジェクトも作成すると言っています。 idがcreated_at、& cであることを除いて、結局私は結局同じものになるはずです。私は、サイクリングだけでなく、それらの変数をクリアしてチェックするという良い方法があるのだろうかと思います。
私はそれだけで引用符 '[" "id"、 "updated_at"、 "created_at"] ' – zishe
を使って文字列とシンボルの両方で動作させるには、HashWithIndifferentAccess:' actual.attributes.with_indifferent_access.except 'を使用できます。 .. '。 – mrzasa
私はこれを試して ''未定義のメソッド ''属性 ''を取得します。何が間違っていますか? –