小编Vic*_*uft的帖子

将ActiveRecord对象与Rspec进行比较

在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 }
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更好的方法.

然后稍微复杂一点,但有没有办法在一上做类似的事情?假设说XML解析器还创建了几个属于原始对象的对象.所以我最终得到的集合应该是相同的,除了id,created_at和c,我想知道是否有一种很好的方法来测试,除了循环,清除这些变量和检查.

activerecord rspec ruby-on-rails

18
推荐指数
1
解决办法
3803
查看次数

标签 统计

activerecord ×1

rspec ×1

ruby-on-rails ×1