2

JSON応答でオブジェクトの配列を取得すると、それらは異なる順序で表される可能性があります。

時々私はこれを手に入れます

JSON.parse(response.body) # => [{"a" => "b"}, {"c" => "d"}]

またはこれ

JSON.parse(response.body) # => [{"c" => "d"}, {"a" => "b"}]

しかし、私にとっては両方の結果が正しいです。順序に関係なく、応答するオブジェクトをテストする最も簡単な方法は何ですか?

4

2 に答える 2

3

ハッシュを使用して、セットのような構造に変換できます。

first_response.inject({}){|s, h| s[h] = true; s}

と同じになります

second_response.inject({}){|s, h| s[h] = true; s}
于 2012-11-05T15:34:23.903 に答える
2

他の便利な機能に加えて、json仕様のgemには、be_json_eql順序に関係なく機能するマッチャーがあります。

于 2012-11-06T02:48:39.657 に答える