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>>
public class ThrowableTypeAssert<T extends Throwable> extends Object implements Descriptable<ThrowableTypeAssert<T>>
Assertion class checkingThrowabletype.The class itself does not do much, it delegates the work to
ThrowableAssertAlternativeafter callingisThrownBy(ThrowableAssert.ThrowingCallable).
-
-
Field Summary
Fields Modifier and Type Field Description protected Descriptiondescriptionprotected Class<? extends T>expectedThrowableType
-
Constructor Summary
Constructors Constructor Description ThrowableTypeAssert(Class<? extends T> throwableType)Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ThrowableTypeAssert<T>as(String description, Object... args)Sets the description of the assertion that is going to be called after.ThrowableTypeAssert<T>as(Description description)Sets the description of the assertion that is going to be called after.ThrowableTypeAssert<T>describedAs(String description, Object... args)Sets the description of the assertion that is going to be called after.ThrowableTypeAssert<T>describedAs(Description description)Sets the description of the assertion that is going to be called after.ThrowableAssertAlternative<T>isThrownBy(ThrowableAssert.ThrowingCallable throwingCallable)Assert that an exception of type T is thrown by thethrowingCallableand allow to chain assertions on the thrown exception.
-
-
-
Field Detail
-
description
protected Description description
-
-
Method Detail
-
isThrownBy
public ThrowableAssertAlternative<T> isThrownBy(ThrowableAssert.ThrowingCallable throwingCallable)
Assert that an exception of type T is thrown by thethrowingCallableand 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.
-
as
public ThrowableTypeAssert<T> as(String description, Object... args)
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.
The description follows
String.format(String, Object...)syntax.Example :
try { // set a bad age to Mr Frodo which is really 33 years old. frodo.setAge(50); // specify a test description (call as() before the assertion !), it supports String format syntax. assertThat(frodo.getAge()).as("check %s's age", frodo.getName()).isEqualTo(33); } catch (AssertionError e) { assertThat(e).hasMessage("[check Frodo's age] expected:<[33]> but was:<[50]>"); }- Specified by:
asin interfaceDescriptable<T extends Throwable>- Parameters:
description- the new description to set.args- optional parameter if description is a format String.- Returns:
thisobject.- See Also:
Descriptable.describedAs(String, Object...)
-
as
public ThrowableTypeAssert<T> as(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
Stringby 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:
asin interfaceDescriptable<T extends Throwable>- Parameters:
description- the new description to set.- Returns:
thisobject.- See Also:
Descriptable.describedAs(Description)
-
describedAs
public ThrowableTypeAssert<T> describedAs(String description, Object... args)
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.
Alias for
since "as" is a keyword in Groovy.Descriptable.as(String, Object...)- Specified by:
describedAsin interfaceDescriptable<T extends Throwable>- Parameters:
description- the new description to set.args- optional parameter if description is a format String.- Returns:
thisobject.
-
describedAs
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
Stringby 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:
describedAsin interfaceDescriptable<T extends Throwable>- Parameters:
description- the new description to set.- Returns:
thisobject.
-
-