Si ya está utilizando JUnit, la última versión ahora emplea Hamcrest. Es un marco genérico de coincidencia (especialmente útil para pruebas unitarias) que se puede ampliar para crear nuevos emparejadores.
Hay una pequeña biblioteca de código abierto llamada hamcrest-json
con coincidencias compatibles con JSON. Está bien documentado, probado y respaldado. A continuación hay algunos enlaces útiles:
Código de ejemplo usando objetos de la biblioteca JSON org.json.simple
:
Assert.assertThat(
jsonObject1.toJSONString(),
SameJSONAs.sameJSONAs(jsonObject2.toJSONString()));
Opcionalmente, puede (1) permitir matrices de "cualquier orden" e (2) ignorar campos adicionales.
Puesto que hay una variedad de bibliotecas JSON para Java ( Jackson
, GSON
, json-lib
, etc.), es útil que hamcrest-json
el texto JSON soportes (como java.lang.String
), los objetos, así como de forma nativa soporte de la biblioteca JSON de Douglas Crockford org.json
.
Finalmente, si no está usando JUnit, puede usar Hamcrest directamente para afirmaciones. ( Escribí sobre esto aquí ) .
toString()
convertir el objeto enJSON
cadena.