ruby – 是否存在匹配哈希的RSpec2匹配器?
发布时间:2020-12-16 19:55:38 所属栏目:百科 来源:网络整理
导读:注意未来的读者:认为RSpec不认为你的哈希是相等的?一个可能是一个OrderedHash,但是从常规的RSpec输出你不能告诉.这是提示这个帖子的问题. 原来的问题: 假设我有一个规范,我想测试一个方法生成适当的哈希. it 'should generate the Hash correctly' do exp
注意未来的读者:认为RSpec不认为你的哈希是相等的?一个可能是一个OrderedHash,但是从常规的RSpec输出你不能告诉.这是提示这个帖子的问题.
原来的问题: 假设我有一个规范,我想测试一个方法生成适当的哈希. it 'should generate the Hash correctly' do expected = {:foo => 1,'baz' => 2} subject.some_method_that_should_generate_the_hash.should == expected end 这通常会失败,因为具有相同键值对的不同哈希可能会以不同的顺序返回它们的对.结果如下: Failure/Error: subject.some_method_that_should_generate_the_hash.should == expected expected: {:foo => 1,'baz' => 2},got: {'baz' => 2,:foo => 1} 对于数组,这是使用=?运算符来解决的.但是,这不适用于哈希.现在,我已经诉诸了 it 'should generate the Hash correctly' do expected = {:foo => 1,'baz' => 2} subject.some_method_that_should_generate_the_hash.each {|k,v| v.should == expected[k] } end 但这似乎是不必要的冗长.我期望有一个明显的解决方案.我是在文档中忽略某些东西,还是RSpec没有适当的匹配器来实现无秩序哈希平等? 解决方法describe 'Hash' do let(:x) { { :a => 1,:b => 2 } } let(:y) { { :b => 2,:a => 1 } } it "should be equal with ==" do x.should == y end end 通行证.我不知道你的具体情况发生了什么.你有一些失败的例子,你可以分享? Ruby编程有这样的说法:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- flex osgi实现-potomac 实现页面与页面间数据传递和页面间各
- ruby-on-rails – Rails:如何从上传显示图像
- 正则表达式匹配包括换行符的所有字符
- weblogic oracle.jdbc.driver.PhysicalConnection.rollback
- 用Drawable XML绘制带阴影效果的圆形按钮
- flex spark DataGrid 每列的label居中显示
- ruby – 是否可以通过子哈希值对多维哈希进行排序?
- Newtonsoft.Json对object进行json转化(时间格式的处理)
- EXC_BAD_ACCESS at lauch for EAGLContext renderbufferSto
- postgresql – 返回给定表的动态列集的函数