1, :b => 2}.should =~ {"a" => 1, "b" => 2} end 此测试失败,因为-6ren">
gpt4 book ai didi

ruby-on-rails - RSpec : comparing a hash with string keys against a hash with symbol keys?

转载 作者:数据小太阳 更新时间:2023-10-29 06:35:31 27 4
gpt4 key购买 nike

考虑以下 RSpec 片段:

it "should match" do
{:a => 1, :b => 2}.should =~ {"a" => 1, "b" => 2}
end

此测试失败,因为一个散列使用符号作为键,而另一个使用字符串作为键。在我的例子中,一个散列是一个解析的 JSON 对象,另一个是创建该对象的散列。我希望他们能平等地进行比较。

在我编写自己的匹配器或强制两个哈希都具有字符串键之前,是否有匹配器或技术可以处理这种(常见)情况?

最佳答案

你可以这样做:

it "should match" do
{:a => 1, :b => 2}.stringify_keys.should =~ {"a" => 1, "b" => 2}
end

关于ruby-on-rails - RSpec : comparing a hash with string keys against a hash with symbol keys?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11832906/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com