XMLUnit helps testing code that creates XML.
XMLUnit.NET is separated into several assemblies:
While XMLUnit is focussed on testing, parts of it may be useful in different contexts as well. The IDifferenceEngine may be the driver behind a visual XML diff tool for example.
The main use case of XMLUnit is comparing XML generated by the code under test with some known source of "good XML". This is the responsibility of the Org.XmlUnit.Diff.IDifferenceEngine and its main (currently sole) implementation DOMDifferenceEngine.
Sometimes a full comparison is more than is needed in which case only parts of the generated document are validated using XPaths. This is the responsibility of XPathEngine.
The Validationnamespace contains everything needed to validate documents against XML Schema (or even the schema document itself) or a DTD.
The Builder namespace contains fluent builders that may provide an API that is more convenient to use in many cases.
XMLUnit.NET 2.6.0 adds a new experimental component XMLUnit.Placeholders that aims to provide a small DSL for configuring the test engine via the control XML document rather than code. The initial code base only supports a placeholder of ${xmlunit.ignore} to be used in order to make XMLUnit ignore the element containing this sequence.
XMLUnit.NET is licensed under the Apache License, Version 2.0.
XMLUnit helps testing code that creates XML.
Provides fluent builders for core parts of XMLUnit.
NUnit 3.x Constraints on top of XMLUnit's core.
Contains XMLUnit Org.XmlUnit.Diff.IDifferenceEngine that is at the heart of all comparisons as well as supporting interfaces and implementations.
Some useful Org.XmlUnit.ISource implementations.
Keyword based Configuration Experiment.
XSLT convenience layer.
Internal utilities hiding the differences between .NET and Java implementations.
Validation of XML documents and schemas.
XPath convenience layer.