java junit xmlunit

java - ¿Tiene XMLUnit una aserción para ignorar los espacios en blanco?



junit (2)

La API ha cambiado con XMLUnit 2.x.

Ahora, para las pruebas unitarias, puede ignorar los espacios en blanco con un comparador de hamcrest así:

import static org.hamcrest.MatcherAssert.assertThat; import static org.xmlunit.matchers.CompareMatcher.isIdenticalTo; ... assertThat(actual, isIdenticalTo(expected).ignoreWhitespace());

O alternativamente, con la API del constructor directamente:

import org.xmlunit.builder.DiffBuilder; ... boolean areDifferent = DiffBuilder.compare(left).withTest(right) .ignoreWhitespace().build().hasDifferences();

Quiero comparar dos cadenas XML en una prueba, pero la prueba sigue fallando debido al espacio en blanco.

@Test public void testForEquality() throws Exception { String myControlXML = "<msg><uuid>0x00435A8C</uuid></msg>"; String myTestXML = "<msg><uuid>0x00435A8C</uuid> </msg>"; assertXMLEqual(myControlXML, myTestXML); Diff diff = new Diff(myControlXML, myTestXML); assertTrue(diff.similar()); }


Sí, XMLUnit puede ignorar espacios en blanco. Consulte la documentación de la API para más detalles. Puedes habilitarlo configurando:

XMLUnit.setIgnoreWhitespace(true)