Testen der JSON-Objektgleichheit unter Ignorieren der untergeordneten Reihenfolge in Java
Beim Unit-Testen von JSON-Antworten von Webdiensten ist es wichtig, die Ergebnisse auf Gleichheit zu vergleichen . Allerdings sollte die Reihenfolge der untergeordneten Elemente innerhalb der JSON-Objekte keinen Einfluss auf den Vergleich haben. Um dieser Herausforderung zu begegnen, erkunden wir eine geeignete JSON-Parsing-Bibliothek.
Lösung: JSONAssert von Skyscreamer
JSONAssert von Skyscreamer bietet einen nicht strengen Modus, der zwei wichtige Anforderungen erfüllt:
Testbeispiel
<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>
In diesem Beispiel gibt das erwartete JSON-Objekt ein Array von Freunden mit an IDs 123 und 456. Das eigentliche JSON-Objekt verfügt möglicherweise über zusätzliche Felder oder eine andere Reihenfolge der Elemente im Array. JSONAssert betrachtet sie im nicht strengen Modus weiterhin als gleich.
Das obige ist der detaillierte Inhalt vonWie teste ich die JSON-Objektgleichheit und ignoriere die untergeordnete Reihenfolge in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!