@@ -96,15 +96,19 @@ private void assertInstanceOfFails(Class<?> expectedType, @Nullable Object actua
9696 String valueType = actualValue == null ? "null" : actualValue .getClass ().getCanonicalName ();
9797 String expectedMessage = "Unexpected %s, expected: <%s> but was: <%s>" .formatted (unexpectedSort ,
9898 expectedType .getCanonicalName (), valueType );
99+ Throwable expectedCause = actualValue instanceof Throwable throwable ? throwable : null ;
99100
100- assertThrowsWithMessage (expectedMessage , () -> assertInstanceOf (expectedType , actualValue ));
101- assertThrowsWithMessage ("extra ==> " + expectedMessage ,
101+ assertThrowsWithMessage (expectedMessage , expectedCause , () -> assertInstanceOf (expectedType , actualValue ));
102+ assertThrowsWithMessage ("extra ==> " + expectedMessage , expectedCause ,
102103 () -> assertInstanceOf (expectedType , actualValue , "extra" ));
103- assertThrowsWithMessage ("extra ==> " + expectedMessage ,
104+ assertThrowsWithMessage ("extra ==> " + expectedMessage , expectedCause ,
104105 () -> assertInstanceOf (expectedType , actualValue , () -> "extra" ));
105106 }
106107
107- private void assertThrowsWithMessage (String expectedMessage , Executable executable ) {
108- assertEquals (expectedMessage , assertThrows (AssertionFailedError .class , executable ).getMessage ());
108+ private void assertThrowsWithMessage (String expectedMessage , @ Nullable Throwable expectedCause ,
109+ Executable executable ) {
110+ Throwable throwable = assertThrows (AssertionFailedError .class , executable );
111+ assertEquals (expectedMessage , throwable .getMessage ());
112+ assertSame (expectedCause , throwable .getCause ());
109113 }
110114}
0 commit comments