Package org.assertj.core.internal
Class Failures
java.lang.Object
org.assertj.core.internal.Failures
Failure actions.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate AssertionErrorCreator
private static final Failures
private static final String
private boolean
flag indicating that in case of a failure a threaddump is printed out.private boolean
flag indicating whether or not we remove elements related to AssertJ from assertion error stack trace. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected String
assertionErrorMessage
(AssertionInfo info, ErrorMessageFactory messageFactory) void
Set the flag indicating that in case of a failure a threaddump is printed out.expectedThrowableNotThrown
(Class<? extends Throwable> throwableClass) Creates a
for aAssertionError
Throwable
class that was expected to be thrown.Creates a
using the givenAssertionError
String
as message.failure
(AssertionInfo info, AssertionErrorFactory factory) Creates a
following this pattern: creates aAssertionError
usingAssertionError
as the error message if such value is notAssertionInfo.overridingErrorMessage()
null
, or uses the given
to create anAssertionErrorFactory
, prepending the value ofAssertionError
to the error messageAssertionInfo.description()
failure
(AssertionInfo info, ErrorMessageFactory messageFactory) Creates a
following this pattern: creates aAssertionError
usingAssertionError
as the error message if such value is notAssertionInfo.overridingErrorMessage()
null
, or uses the given
to create the detail message of theErrorMessageFactory
, prepending the value ofAssertionError
to the error messageAssertionInfo.description()
failure
(AssertionInfo info, ErrorMessageFactory messageFactory, Object actual, Object expected) static Failures
instance()
Returns the singleton instance of this class.boolean
Returns whether or not we remove elements related to AssertJ from assertion error stack trace.void
void
removeAssertJRelatedElementsFromStackTraceIfNeeded
(AssertionError assertionError) If isremoveAssertJRelatedElementsFromStackTrace
is true, it filters the stack trace of the givenAssertionError
by removing stack trace elements related to AssertJ in order to get a more readable stack trace.void
setRemoveAssertJRelatedElementsFromStackTrace
(boolean removeAssertJRelatedElementsFromStackTrace) Sets whether we remove elements related to AssertJ from assertion error stack trace.static String
-
Field Details
-
LINE_SEPARATOR
-
INSTANCE
-
assertionErrorCreator
-
printThreadDump
private boolean printThreadDumpflag indicating that in case of a failure a threaddump is printed out. -
removeAssertJRelatedElementsFromStackTrace
private boolean removeAssertJRelatedElementsFromStackTraceflag indicating whether or not we remove elements related to AssertJ from assertion error stack trace.
-
-
Constructor Details
-
Failures
Failures()
-
-
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 a
following this pattern:AssertionError
- creates a
usingAssertionError
as the error message if such value is notAssertionInfo.overridingErrorMessage()
null
, or - uses the given
to create anAssertionErrorFactory
, prepending the value ofAssertionError
to the error messageAssertionInfo.description()
- Parameters:
info
- contains information about the failed assertion.factory
- knows how to createAssertionError
s.- Returns:
- the created
.AssertionError
- creates a
-
failure
Creates a
following this pattern:AssertionError
- creates a
usingAssertionError
as the error message if such value is notAssertionInfo.overridingErrorMessage()
null
, or - uses the given
to create the detail message of theErrorMessageFactory
, prepending the value ofAssertionError
to the error messageAssertionInfo.description()
- Parameters:
info
- contains information about the failed assertion.messageFactory
- knows how to create detail messages forAssertionError
s.- Returns:
- the created
.AssertionError
- creates a
-
failure
public AssertionError failure(AssertionInfo info, ErrorMessageFactory messageFactory, Object actual, Object expected) -
assertionErrorMessage
-
failureIfErrorMessageIsOverridden
-
failure
Creates a
using the givenAssertionError
String
as message.It filters the AssertionError stack trace by default, to have full stack trace use
setRemoveAssertJRelatedElementsFromStackTrace(boolean)
.- Parameters:
message
- the message of theAssertionError
to create.- Returns:
- the created
.AssertionError
-
expectedThrowableNotThrown
Creates a
for aAssertionError
Throwable
class 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 isremoveAssertJRelatedElementsFromStackTrace
is true, it filters the stack trace of the givenAssertionError
by 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
- theAssertionError
to 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
-