Je voulais sauter deux attributs de mon test d'acceptation.Alors j'ai ajouté la partie suivante pour supprimer ces deux attributs.Ceci m'a donné une erreur: junit.framework.AssertionFailedError: org.custommonkey.xmlunit.Diff [différent] Attendu nombre d'attributs d'éléments '2', mais était '1'Comment supprimer un attribut de test dans XMLUnit en Java?
partie du fichier XML:
<a:content schemaVS="1"
a:schemaLocate="http://www.ContentXML.xsd"
whiteSpaceMode="preserve">
<section type="Chapter" id="drd121">
<p type="H1">This is H1.</p>
</section>
Une partie de la mise en œuvre Java:
public Document removeIgnoredCxmlNodes(Document resultDocument) {
Element contentElement=(Element) resultDocument.getElementsByTagName("a:content").item(0);
contentElement.removeAttribute("schemaVS");
contentElement.removeAttribute("a:schemaLocate");
return resultDocument;
}
public void cxmlShouldBeProduced(String location) throws Throwable {
try {
Document expectedDocument = parseDocument(RESOURCES_DIR_PATH.resolve(location));
Document resultDocument = removeIgnoredCxmlNodes(parseDocument(resultCxmlPath));
assertXMLEqual(expectedDocument, resultDocument);
} catch (NullPointerException e) {
e.printStackTrace();
}
}
Pouvez-vous imprimer les deux documents à XML? Apparemment XMLUnit pense qu'ils sont différents. Cela peut être vrai, et si cela est acceptable, utilisez un 'DifferenceListener' comme indiqué ci-dessous par @jsheeran. –