【发布时间】:2011-01-21 21:30:34
【问题描述】:
在 Rspec 中是否有一个很好的方法来比较两个 ActiveRecord 对象而忽略 id、&c?例如,假设我从 XML 解析一个对象并从夹具加载另一个对象,而我正在测试的是我的 XML 解析器工作正常。我目前拥有的是带有
的自定义匹配器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 }
但我想知道是否有更好的方法。
然后稍微复杂一些,但是有没有办法在 set 上做类似的事情?说 XML 解析器还创建了几个属于原始对象的对象。所以我最终得到的集合应该是相同的,除了 id、created_at 和 &c,我想知道除了循环、清除这些变量和检查之外,是否有一种很好的方法来测试它。
【问题讨论】:
标签: ruby-on-rails activerecord rspec