اختبار كائنات JSON للمساواة مع تجاهل ترتيب الطفل في Java
في اختبار الوحدة، من الشائع مقارنة كائنات JSON التي تم إرجاعها من خدمات الويب للقيم المتوقعة. ومع ذلك، قد تقوم بعض مكتبات JSON بإجراء مقارنات مرجعية صارمة، والتي يمكن أن تكون هشة وتفشل بسبب الاختلافات في الترتيب الفرعي.
ولهذا الغرض، توفر مكتبة Skyscreamer JSONAssert حلاً. يسمح وضعها غير الصارم بالمرونة من خلال:
في المقابل، يتصرف الوضع الصارم بشكل أكثر تحفظًا، على غرار فئة اختبار json-lib.
لاستخدام JSONAssert، يمكن إنشاء الاختبارات على النحو التالي: يلي:
@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
}
تتضمن المعلمات في JSONAssert.assertEquals() سلسلة JSON المتوقعة، وسلسلة البيانات الفعلية، وعلامة تشير إلى الوضع الصارم أم لا.
يوفر JSONAssert رسائل خطأ واضحة، وهو أمر بالغ الأهمية عندما مقارنة كائنات JSON الكبيرة، مما يضمن المتانة في اختبار الوحدة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3