2010-10-15 5 views
9

Estoy tratando de ver si puedo usar XMLUnit para comparar los siguientes dos XML diferentes. Utilicé la clase Diff para comparar los siguientes dos XML y comprobar si el resultado era falso.XMLUnit: compare dos XML ignorando la orden secundaria

XML One 
<Required> 
    <Question desc="Are you single?"> 
     <Answers> 
     <Answer value="Yes"/> 
     <Answer value="No"/> 
     </Answers> 
    </Question> 
</Required> 

XML Two 
<Required> 
    <Question desc="Are you single?"> 
     <Answers> 
     <Answer value="No"/> ''Order is reversed in XML two 
     <Answer value="Yes"/> 
     </Answers> 
    </Question> 
</Required> 

Aquí está mi código JAVA:

Diff xmlDiff; 
try { 
    xmlDiff = new Diff(xmlOne, xmlTwo); 
    xmlDiff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier()); 
} catch (Exception e) { } 
boolean isEqual = xmlDiff.similar() 

Respuesta

2

xmlDiff.similar debe hacer el truco, pero yo he experimentado que esto no siempre funciona. Mi solución fue ordenar los elementos antes de la comparación.

Tenga en cuenta que a menudo es una buena idea incorporar su aplicación para tener un orden bien definido en su salida, ya que esto hace que las pruebas automáticas sean mucho más fáciles.

Cuestiones relacionadas