Тестирование объектов JSON на равенство с игнорированием дочернего порядка в Java
При модульном тестировании обычно сравниваются объекты JSON, возвращаемые веб-сервисами ожидаемым значениям. Однако некоторые библиотеки JSON могут выполнять строгие сравнения ссылок, которые могут быть нестабильными и давать сбой из-за различий в дочернем порядке.
Для этой цели библиотека Skyscreamer JSONAssert предоставляет решение. Его нестрогий режим обеспечивает гибкость за счет:
Напротив, строгий режим ведет себя более консервативно, подобно тесту json-lib. class.
Чтобы использовать 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