Menguji Objek JSON untuk Kesaksamaan sambil Mengabaikan Pesanan Kanak-kanak dalam Java
Dalam ujian unit, adalah perkara biasa untuk membandingkan objek JSON yang dikembalikan daripada perkhidmatan web kepada nilai yang diharapkan. Walau bagaimanapun, sesetengah perpustakaan JSON mungkin melakukan perbandingan rujukan yang ketat, yang boleh rapuh dan gagal disebabkan oleh perbezaan dalam susunan kanak-kanak.
Untuk tujuan ini, perpustakaan Skyscreamer JSONAssert menyediakan penyelesaian. Mod tidak ketatnya membolehkan fleksibiliti dengan:
Sebaliknya, mod ketat berkelakuan lebih konservatif, serupa dengan kelas ujian json-lib.
Untuk menggunakan JSONAssert, ujian boleh dibina sebagai berikut:
<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); // Non-strict mode }</code>
Parameter dalam JSONAssert.assertEquals() termasuk rentetan JSON yang dijangkakan, rentetan data sebenar dan bendera yang menunjukkan mod ketat atau tidak.
JSONAssert menyediakan mesej ralat yang jelas, yang penting apabila membandingkan objek JSON yang besar, memastikan keteguhan dalam ujian unit.
Atas ialah kandungan terperinci Bagaimana Membandingkan Objek JSON untuk Kesaksamaan Semasa Mengabaikan Pesanan Kanak-kanak di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!