Test d'é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 :
@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
}
Les paramètres de 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 lorsque comparer de gros objets JSON, garantissant la robustesse des tests unitaires.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3