| Modifier and Type | Method and Description |
|---|---|
static void |
appendStackTraceInCurrentThreadToThrowable(Throwable t,
String methodToStartFrom)
Appends the stack trace of the current thread to the one in the given
. |
static List<String> |
describeErrors(List<? extends Throwable> errors) |
static Throwable |
getRootCause(Throwable throwable)
Get the root cause (ie the last non null cause) from a
Throwable. |
static String |
getStackTrace(Throwable throwable)
|
static void |
removeAssertJRelatedElementsFromStackTrace(Throwable throwable)
Removes the AssertJ-related elements from the
stack trace that have little value for
end user. |
public static void appendStackTraceInCurrentThreadToThrowable(Throwable t, String methodToStartFrom)
Throwable.t - the given Throwable.methodToStartFrom - the name of the method used as the starting point of the current thread's stack trace.public static void removeAssertJRelatedElementsFromStackTrace(Throwable throwable)
Throwable stack trace that have little value for
end user. Therefore, instead of seeing this:
org.junit.ComparisonFailure: expected:<'[Ronaldo]'> but was:<'[Messi]'>
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:501)
at org.assertj.core.error.ConstructorInvoker.newInstance(ConstructorInvoker.java:34)
at org.assertj.core.error.ShouldBeEqual.newComparisonFailure(ShouldBeEqual.java:111)
at org.assertj.core.error.ShouldBeEqual.comparisonFailure(ShouldBeEqual.java:103)
at org.assertj.core.error.ShouldBeEqual.newAssertionError(ShouldBeEqual.java:81)
at org.assertj.core.internal.Failures.failure(Failures.java:76)
at org.assertj.core.internal.Objects.assertEqual(Objects.java:116)
at org.assertj.core.api.AbstractAssert.isEqualTo(AbstractAssert.java:74)
at examples.StackTraceFilterExample.main(StackTraceFilterExample.java:13)
We get this:
org.junit.ComparisonFailure: expected:<'[Ronaldo]'> but was:<'[Messi]'>
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at examples.StackTraceFilterExample.main(StackTraceFilterExample.java:20)throwable - the Throwable to filter stack trace.public static Throwable getRootCause(Throwable throwable)
Throwable.throwable - the Throwable to get root cause from.null.public static String getStackTrace(Throwable throwable)
Throwable as a String.
The result of this method vary by JDK version as this method uses
Throwable.printStackTrace(java.io.PrintWriter). On JDK1.3 and earlier, the cause exception will not be
shown unless the specified throwable alters printStackTrace.
throwable - the Throwable to get stack trace from.String.Copyright © 2014–2019 AssertJ. All rights reserved.