Package org.assertj.core.internal
Class Failures
java.lang.Object
org.assertj.core.internal.Failures
Failure actions.
- Author:
- Yvonne Wang, Alex Ruiz
-
Method Summary
Modifier and TypeMethodDescriptionprotected StringassertionErrorMessage(AssertionInfo info, ErrorMessageFactory messageFactory) voidSet the flag indicating that in case of a failure a threaddump is printed out.expectedThrowableNotThrown(Class<? extends Throwable> throwableClass) Creates afor aAssertionErrorThrowableclass that was expected to be thrown.Creates ausing the givenAssertionErrorStringas message.failure(AssertionInfo info, AssertionErrorFactory factory) Creates afollowing this pattern: creates aAssertionErrorusingAssertionErroras the error message if such value is notAssertionInfo.overridingErrorMessage()null, or uses the givento create anAssertionErrorFactory, prepending the value ofAssertionErrorto the error messageAssertionInfo.description()failure(AssertionInfo info, ErrorMessageFactory messageFactory) Creates afollowing this pattern: creates aAssertionErrorusingAssertionErroras the error message if such value is notAssertionInfo.overridingErrorMessage()null, or uses the givento create the detail message of theErrorMessageFactory, prepending the value ofAssertionErrorto the error messageAssertionInfo.description()failure(AssertionInfo info, ErrorMessageFactory messageFactory, Object actual, Object expected) static Failuresinstance()Returns the singleton instance of this class.booleanReturns whether or not we remove elements related to AssertJ from assertion error stack trace.voidvoidremoveAssertJRelatedElementsFromStackTraceIfNeeded(AssertionError assertionError) If isremoveAssertJRelatedElementsFromStackTraceis true, it filters the stack trace of the givenAssertionErrorby removing stack trace elements related to AssertJ in order to get a more readable stack trace.voidsetRemoveAssertJRelatedElementsFromStackTrace(boolean removeAssertJRelatedElementsFromStackTrace) Sets whether we remove elements related to AssertJ from assertion error stack trace.static String
-
Method Details
-
instance
Returns the singleton instance of this class.- Returns:
- the singleton instance of this class.
-
setRemoveAssertJRelatedElementsFromStackTrace
public void setRemoveAssertJRelatedElementsFromStackTrace(boolean removeAssertJRelatedElementsFromStackTrace) Sets whether we remove elements related to AssertJ from assertion error stack trace.- Parameters:
removeAssertJRelatedElementsFromStackTrace- flag
-
isRemoveAssertJRelatedElementsFromStackTrace
public boolean isRemoveAssertJRelatedElementsFromStackTrace()Returns whether or not we remove elements related to AssertJ from assertion error stack trace.- Returns:
- whether or not we remove elements related to AssertJ from assertion error stack trace.
-
failure
Creates afollowing this pattern:AssertionError- creates a
usingAssertionErroras the error message if such value is notAssertionInfo.overridingErrorMessage()null, or - uses the given
to create anAssertionErrorFactory, prepending the value ofAssertionErrorto the error messageAssertionInfo.description()
- Parameters:
info- contains information about the failed assertion.factory- knows how to createAssertionErrors.- Returns:
- the created
.AssertionError
- creates a
-
failure
Creates afollowing this pattern:AssertionError- creates a
usingAssertionErroras the error message if such value is notAssertionInfo.overridingErrorMessage()null, or - uses the given
to create the detail message of theErrorMessageFactory, prepending the value ofAssertionErrorto the error messageAssertionInfo.description()
- Parameters:
info- contains information about the failed assertion.messageFactory- knows how to create detail messages forAssertionErrors.- Returns:
- the created
.AssertionError
- creates a
-
failure
public AssertionError failure(AssertionInfo info, ErrorMessageFactory messageFactory, Object actual, Object expected) -
assertionErrorMessage
-
failureIfErrorMessageIsOverridden
-
failure
Creates ausing the givenAssertionErrorStringas message.It filters the AssertionError stack trace by default, to have full stack trace use
setRemoveAssertJRelatedElementsFromStackTrace(boolean).- Parameters:
message- the message of theAssertionErrorto create.- Returns:
- the created
.AssertionError
-
expectedThrowableNotThrown
Creates afor aAssertionErrorThrowableclass that was expected to be thrown.- Parameters:
throwableClass- the Throwable class that was expected to be thrown.- Returns:
- the created
.AssertionError - Since:
- 2.6.0 / 3.6.0
-
printThreadDumpIfNeeded
public void printThreadDumpIfNeeded() -
removeAssertJRelatedElementsFromStackTraceIfNeeded
If isremoveAssertJRelatedElementsFromStackTraceis true, it filters the stack trace of the givenAssertionErrorby removing stack trace elements related to AssertJ in order to get a more readable stack trace.See example below :
Method is public because we need to call it from--------------- stack trace not filtered ----------------- 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) --------------- stack trace filtered ----------------- 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)ShouldBeEqual.newAssertionError(Description, org.assertj.core.presentation.Representation)that is building a junit ComparisonFailure by reflection.- Parameters:
assertionError- theAssertionErrorto filter stack trace if option is set.
-
enablePrintThreadDump
public void enablePrintThreadDump()Set the flag indicating that in case of a failure a threaddump is printed out. -
threadDumpDescription
-