子の順序を無視した JSON オブジェクトの等価性のテスト
Web サービスから返された JSON データをテストする場合、JSON 解析ライブラリに対応していることが不可欠です子要素の順序を無視して 2 つの JSON オブジェクトを比較する方法。これは単体テストにとって重要であり、特定の子の順序に依存せずに、JSON コンテンツが期待される形式と一致していることを確認します。
JSONAssert: 効果的なソリューション
さまざまな JSON ライブラリの中で, Skyscreamer の JSONAssert は、子の順序を無視して JSON オブジェクトを比較できる機能が際立っています。非厳密モードには次の利点があります:
使用例
JSONAssert を使用するには、テスト メソッドを次のように記述できます。
<code class="java">@Test public void testGetFriends() { JSONObject data = getRESTData("/friends/367.json"); String expected = "{friends:[{id:123,name:\"Corby Page\"}" + ",{id:456,name:\"Solomon Duskis\"}]}"; JSONAssert.assertEquals(expected, data, false); }</code>
この例では、expectedJSONString は予期される JSON、actualDataString は実際の JSON であり、非厳密モードを有効にするために isStrict が false に設定されています。
結論
JSONAssert は、子の順序を無視して JSON オブジェクトをテストするための堅牢なソリューションを提供します。非厳格モードは柔軟性と精度を提供し、単体テストの脆弱性を軽減します。
以上が子の順序を無視して JSON オブジェクトをテストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。