Class XmlAssert

java.lang.Object
org.assertj.core.api.AbstractAssert<XmlAssert,Object>
org.xmlunit.assertj3.XmlAssert
All Implemented Interfaces:
org.assertj.core.api.Assert<XmlAssert,Object>, org.assertj.core.api.Descriptable<XmlAssert>, org.assertj.core.api.ExtensionPoints<XmlAssert,Object>

public class XmlAssert extends org.assertj.core.api.AbstractAssert<XmlAssert,Object>
Entry point for fluent interface for writing assertions based on AssertJ library.

All types which are supported by Input.from(Object) can be used as input for assertThat(Object)

Simple Example

    import static org.xmlunit.assertj.XmlAssert.assertThat;

    final String xml = "<a><b attr=\"abc\"></b></a>";

    assertThat(xml).nodesByXPath("//a/b/@attr").exist();
    assertThat(xml).hasXPath("//a/b/@attr");
    assertThat(xml).doesNotHaveXPath("//a/b/c");
 

Example with namespace mapping

    String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
          "<feed xmlns=\"http://www.w3.org/2005/Atom\">" +
          "   <title>title</title>" +
          "   <entry>" +
          "       <title>title1</title>" +
          "       <id>id1</id>" +
          "   </entry>" +
          "</feed>";

    HashMap<String, String> prefix2Uri = new HashMap<String, String>();
    prefix2Uri.put("atom", "http://www.w3.org/2005/Atom");
    assertThat(xml)
          .withNamespaceContext(prefix2Uri)
          .hasXPath("//atom:feed/atom:entry/atom:id"));
 

Testing XPath expression value

    String xml = "<a><b attr=\"abc\"></b></a>";

    assertThat(xml).valueByXPath("//a/b/@attr").isEqualTo("abc");
    assertThat(xml).valueByXPath("count(//a/b)").isEqualTo(1);
 

Example with XML validation

    String xml = "<a><b attr=\"abc\"></b></a>";
    StreamSource xsd = new StreamSource(new File("schema.xsd"));

    assertThat(xml).isValid();
    assertThat(xml).isValidAgainst(xsd);
 

Example with XMLs comparision

    final String control = "<a><b attr=\"abc\"></b></a>";
    final String test = "<a><b attr=\"xyz\"></b></a>";

    assertThat(test).and(control).areIdentical();
    assertThat(test).and(control).areNotIdentical();
    assertThat(test).and(control).areSimilar();
    assertThat(test).and(control).areNotSimilar();

    assertThat(test).and(control)
          .normalizeWhitespace()
          .ignoreComments()
          .withNodeMatcher(new DefaultNodeMatcher(new MyElementSelector()))
          .withDifferenceEvaluator(DifferenceEvaluators.chain(
               DifferenceEvaluators.Default, new MyDifferenceEvaluator()));
          .areIdentical();
 
Since:
XMLUnit 2.8.1
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     

    Fields inherited from class org.assertj.core.api.AbstractAssert

    actual, info, myself, objects, throwUnsupportedExceptionOnEquals
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
     
  • Method Summary

    Modifier and Type
    Method
    Description
    and(Object control)
    Create CompareAssert for given control XML source and actual XML source.
    static XmlAssert
    Factory method for XmlAssert
    void
    Equivalent for
    Equivalent for
    Check if actual value is not valid against W3C XML Schema
    isNotValidAgainst(Object... schemaSources)
    Check if actual value is not valid against schema provided by given sources
    Check if actual value is not valid against given schema
    Check if actual value is valid against W3C XML Schema
    isValidAgainst(Object... schemaSources)
    Check if actual value is valid against schema provided by given sources
    Check if actual value is valid against given schema
    Create MultipleNodeAssert from nodes selecting by given xPath.
    Create ValueAssert from value of given xPath expression.
    Sets the DocumentBuilderFactory to use when creating a Document from the XML input.
    Utility method used for creating a namespace context mapping to be used in XPath matching.
    Sets the XPathFactory to use for XPath related assertions.

    Methods inherited from class org.assertj.core.api.AbstractAssert

    areEqual, asInstanceOf, asList, assertionError, asString, describedAs, descriptionText, doesNotHave, doesNotHaveSameClassAs, doesNotHaveSameHashCodeAs, doesNotHaveToString, equals, extracting, extracting, failure, failureWithActualExpected, failWithActualExpectedAndMessage, failWithMessage, getWritableAssertionInfo, has, hashCode, hasSameClassAs, hasSameHashCodeAs, hasToString, inBinary, inHexadecimal, is, isElementOfCustomAssert, isEqualTo, isExactlyInstanceOf, isIn, isIn, isInstanceOf, isInstanceOfAny, isInstanceOfSatisfying, isNot, isNotEqualTo, isNotExactlyInstanceOf, isNotIn, isNotIn, isNotInstanceOf, isNotInstanceOfAny, isNotNull, isNotOfAnyClassIn, isNotSameAs, isNull, isOfAnyClassIn, isSameAs, matches, matches, newListAssertInstance, overridingErrorMessage, overridingErrorMessage, satisfies, satisfies, satisfies, satisfiesAnyOf, satisfiesAnyOf, satisfiesAnyOfForProxy, satisfiesForProxy, setCustomRepresentation, setDescriptionConsumer, setPrintAssertionsDescription, throwAssertionError, usingComparator, usingComparator, usingDefaultComparator, usingRecursiveAssertion, usingRecursiveAssertion, usingRecursiveComparison, usingRecursiveComparison, withFailMessage, withFailMessage, withRepresentation, withThreadDumpOnError

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.assertj.core.api.Descriptable

    as, as, as, describedAs