Test de l'équivalence des objets JSON sans tenir compte de l'ordre des enfants
Lors du test des données JSON renvoyées par les services Web, il est essentiel de disposer d'une bibliothèque d'analyse JSON capable de comparer deux objets JSON tout en ignorant l'ordre des éléments enfants. Ceci est crucial pour les tests unitaires, garantissant que le contenu JSON correspond au format attendu sans dépendre d'un ordre enfant spécifique.
JSONAssert : une solution efficace
Parmi les différentes bibliothèques JSON , JSONAssert de Skyscreamer se distingue par sa capacité à comparer des objets JSON sans tenir compte de l'ordre des enfants. Son mode non strict offre les avantages suivants :
Exemple d'utilisation
Pour utiliser JSONAssert, une méthode de test pourrait être écrite 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); }</code>
Dans cet exemple, ExpectJSONString est le JSON attendu, actualDataString est le JSON réel, et isStrict est défini sur false pour activer le mode non strict.
Conclusion
JSONAssert fournit une solution robuste pour tester les objets JSON tout en ignorant l'ordre des enfants. Son mode non strict offre flexibilité et précision, réduisant la fragilité 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!