diff --git a/spring-test/src/main/java/org/springframework/test/util/XmlExpectationsHelper.java b/spring-test/src/main/java/org/springframework/test/util/XmlExpectationsHelper.java
index 255d307fd80f..69a210c95d4f 100644
--- a/spring-test/src/main/java/org/springframework/test/util/XmlExpectationsHelper.java
+++ b/spring-test/src/main/java/org/springframework/test/util/XmlExpectationsHelper.java
@@ -110,7 +110,7 @@ public boolean hasDifferences() {
@Override
public String toString() {
- return this.diff.toString();
+ return this.diff.fullDescription();
}
}
diff --git a/spring-test/src/test/java/org/springframework/test/util/XmlExpectationsHelperTests.java b/spring-test/src/test/java/org/springframework/test/util/XmlExpectationsHelperTests.java
index eae8b99b2d2f..6e855b37f698 100644
--- a/spring-test/src/test/java/org/springframework/test/util/XmlExpectationsHelperTests.java
+++ b/spring-test/src/test/java/org/springframework/test/util/XmlExpectationsHelperTests.java
@@ -74,4 +74,15 @@ void assertXmlEqualExceptionForLessEntries() {
.withMessageContaining("Expected child nodelist length '3' but was '2'");
}
+ @Test
+ void assertXmlEqualExceptionWithFullDescription() {
+ String control = "f1f2";
+ String test = "f2f3";
+ XmlExpectationsHelper xmlHelper = new XmlExpectationsHelper();
+ assertThatExceptionOfType(AssertionError.class).isThrownBy(() ->
+ xmlHelper.assertXmlEqual(control, test))
+ .withMessageContaining("Expected child 'field1' but was 'null'")
+ .withMessageContaining("Expected child 'null' but was 'field3'");
+ }
+
}