Maison >Java >javaDidacticiel >Comment comparer les objets JSON pour l'égalité tout en ignorant l'ordre des enfants en Java ?
Test de l'égalité des objets JSON tout en ignorant l'ordre des enfants en Java
Dans les tests unitaires, il est courant de comparer les objets JSON renvoyés par les services Web aux valeurs attendues. Cependant, certaines bibliothèques JSON peuvent effectuer des comparaisons de références strictes, qui peuvent être fragiles et échouer en raison de différences dans l'ordre des enfants.
À cette fin, la bibliothèque Skyscreamer JSONAssert fournit une solution. Son mode non strict permet une certaine flexibilité en :
En revanche, le mode strict se comporte de manière plus conservatrice, similaire à la classe de test de json-lib.
Pour utiliser JSONAssert, les tests peuvent être construits comme suit :
<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>
Les paramètres dans JSONAssert.assertEquals() incluent la chaîne JSON attendue, la chaîne de données réelle et un indicateur indiquant le mode strict ou non.
JSONAssert fournit des messages d'erreur clairs, ce qui est crucial lors de la comparaison de gros objets JSON, garantissant la robustesse des tests unitaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!