Verificar que el documento resultante esté bien formado Verificar que el documento resultante sea válido Verificar que el documento resultante sea el correcto.
Presumiblemente, está creando un documento XML a partir de datos útiles, por lo que querrá asegurarse de tener la cobertura correcta de las entradas para sus pruebas.Los problemas más comunes que veo son
- incorrectamente escaparon elementos
- incorrectamente escaparon atributos
- incorrectamente escapado nombres de los elementos
- nombres de atributos incorrectamente escapado
Así que si aún no lo ha hecho por lo tanto, necesitaría revisar las especificaciones XML para ver lo que está permitido en cada lugar.
La cantidad de "verificación" que debería ocurrir en cada prueba no está clara inmediatamente. Dependerá mucho de lo que sea una unidad en su espacio problemático, supongo. Parece razonable que cada prueba unitaria verifique que una pieza de datos esté correctamente expresada en el XML. En este caso, estoy de acuerdo con Robert en que una simple comprobación de que encuentre los datos correctos en una única ubicación XPath es la mejor.
Para las pruebas automáticas más grandes, en las que desea comprobar todo el documento, lo que he encontrado efectivo es tener un resultado esperado que también es un documento, y recorrerlo nodo por nodo, usando expresiones XPath para encuentre el nodo correspondiente en el documento real y luego aplique la comparación correcta de los datos codificados en los dos nodos.
Con este enfoque, normalmente querrá detectar todas las fallas a la vez, en lugar de abortar en la primera falla, por lo que es posible que tenga que ser truculento acerca de cómo rastrear dónde se produjeron desajustes.
Con un poco más de trabajo, puede reconocer ciertos tipos de elementos como excusados de una prueba (como una marca de tiempo), o para validar que son punteros a nodos equivalentes, o ... cualquier tipo de verificación personalizada que querer.
XMLUnit ya se compararán los archivos XML y contar el número de diferencias si quieres ... – djangofan