Class Failures


  • public class Failures
    extends Object
    Failure actions.
    Author:
    Yvonne Wang, Alex Ruiz
    • Field Detail

      • LINE_SEPARATOR

        private static final String LINE_SEPARATOR
      • INSTANCE

        private static final Failures INSTANCE
      • printThreadDump

        private boolean printThreadDump
        flag indicating that in case of a failure a threaddump is printed out.
      • removeAssertJRelatedElementsFromStackTrace

        private boolean removeAssertJRelatedElementsFromStackTrace
        flag indicating whether or not we remove elements related to AssertJ from assertion error stack trace.
    • Constructor Detail

      • Failures

        Failures()
    • Method Detail

      • instance

        public static Failures 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.
      • expectedThrowableNotThrown

        public AssertionError expectedThrowableNotThrown​(Class<? extends Throwable> throwableClass)
        Creates a AssertionError for a 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

        public void removeAssertJRelatedElementsFromStackTraceIfNeeded​(AssertionError assertionError)
        If is removeAssertJRelatedElementsFromStackTrace is true, it filters the stack trace of the given AssertionError by removing stack trace elements related to AssertJ in order to get a more readable stack trace.

        See example below :

         --------------- 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)
        Method is public because we need to call it from ShouldBeEqual.newAssertionError(Description, org.assertj.core.presentation.Representation) that is building a junit ComparisonFailure by reflection.
        Parameters:
        assertionError - the AssertionError 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

        public static String threadDumpDescription()