Test de l'égalité des objets JSON en ignorant l'ordre des enfants en Java
Lors des tests unitaires des réponses JSON des services Web, il est crucial de comparer les résultats pour l'égalité . Cependant, l'ordre des éléments enfants dans les objets JSON ne devrait pas affecter la comparaison. Pour relever ce défi, explorons une bibliothèque d'analyse JSON appropriée.
Solution : JSONAssert de Skyscreamer
JSONAssert de Skyscreamer propose un mode non strict qui répond à deux exigences clés :
Exemple de test
<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>
Dans cet exemple, l'objet JSON attendu spécifie un tableau d'amis avec ID 123 et 456. L'objet JSON réel peut avoir des champs supplémentaires ou un ordre différent des éléments dans le tableau. JSONAssert les considérera toujours égaux en mode non strict.
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!