Class ThrowableTypeAssert<T extends Throwable>

java.lang.Object
org.assertj.core.api.ThrowableTypeAssert<T>
Type Parameters:
T - type of throwable to be thrown.
All Implemented Interfaces:
Descriptable<ThrowableTypeAssert<T>>
Direct Known Subclasses:
SoftThrowableTypeAssert

public class ThrowableTypeAssert<T extends Throwable> extends Object implements Descriptable<ThrowableTypeAssert<T>>
Assertion class checking Throwable type.

The class itself does not do much, it delegates the work to ThrowableAssertAlternative after calling isThrownBy(ThrowingCallable).

See Also:
  • Field Details Link icon

    • expectedThrowableType Link icon

      protected final Class<? extends T extends Throwable> expectedThrowableType
    • description Link icon

      protected Description description
  • Constructor Details Link icon

    • ThrowableTypeAssert Link icon

      public ThrowableTypeAssert(Class<? extends T> throwableType)
      Default constructor.
      Parameters:
      throwableType - class representing the target (expected) exception.
  • Method Details Link icon

    • isThrownBy Link icon

      public ThrowableAssertAlternative<T> isThrownBy(ThrowableAssert.ThrowingCallable throwingCallable)
      Assert that an exception of type T is thrown by the throwingCallable and allow to chain assertions on the thrown exception.

      Example:

       assertThatExceptionOfType(IOException.class).isThrownBy(() -> { throw new IOException("boom!"); })
                                             .withMessage("boom!"); 
      Parameters:
      throwingCallable - code throwing the exception of expected type
      Returns:
      return a ThrowableAssertAlternative.
    • checkThrowableType Link icon

      protected void checkThrowableType(Throwable throwable)
    • buildThrowableTypeAssert Link icon

      protected ThrowableAssertAlternative<T> buildThrowableTypeAssert(T throwable)
    • describedAs Link icon

      public ThrowableTypeAssert<T> describedAs(Description description)
      Sets the description of the assertion that is going to be called after.

      You must set it before calling the assertion otherwise it is ignored as the failing assertion breaks the chained call by throwing an AssertionError.

      This overloaded version of "describedAs" offers more flexibility than the one taking a String by allowing users to pass their own implementation of a description. For example, a description that creates its value lazily, only when an assertion failure occurs.

      Specified by:
      describedAs in interface Descriptable<T extends Throwable>
      Parameters:
      description - the new description to set.
      Returns:
      this object.