public class ThrowableAssertAlternative<T extends Throwable> extends AbstractAssert<ThrowableAssertAlternative<T>,T>
Throwable
similar to ThrowableAssert
but with assertions methods named
differently to make testing code fluent (ex : withMessage
instead of hasMessage
.
assertThatExceptionOfType(IOException.class)
.isThrownBy(() -> { throw new IOException("boom! tcha!"); });
.withMessage("boom! %s", "tcha!");
This class is linked with the ThrowableTypeAssert
and allow to check that an exception
type is thrown by a lambda.
actual, info, myself
Modifier and Type | Method and Description |
---|---|
ThrowableAssertAlternative<T> |
withCause(Throwable cause)
Verifies that the actual
Throwable has a cause similar to the given one, that is with same type and message
(it does not use equals method for comparison). |
ThrowableAssertAlternative<T> |
withCauseExactlyInstanceOf(Class<? extends Throwable> type)
Verifies that the cause of the actual
Throwable is exactly an instance of the given type. |
ThrowableAssertAlternative<T> |
withCauseInstanceOf(Class<? extends Throwable> type)
Verifies that the cause of the actual
Throwable is an instance of the given type. |
ThrowableAssertAlternative<T> |
withMessage(String message)
Verifies that the message of the actual
Throwable is equal to the given one. |
ThrowableAssertAlternative<T> |
withMessage(String message,
Object... parameters)
Verifies that the message of the actual
Throwable is equal to the given one built using String.format(String, Object...) syntax. |
ThrowableAssertAlternative<T> |
withMessageContaining(String description)
Verifies that the message of the actual
Throwable contains with the given description. |
ThrowableAssertAlternative<T> |
withMessageEndingWith(String description)
Verifies that the message of the actual
Throwable ends with the given description. |
ThrowableAssertAlternative<T> |
withMessageMatching(String regex)
Verifies that the message of the actual
Throwable matches with the given regular expression. |
ThrowableAssertAlternative<T> |
withMessageStartingWith(String description)
Verifies that the message of the actual
Throwable starts with the given description. |
ThrowableAssertAlternative<T> |
withNoCause()
Verifies that the actual
Throwable does not have a cause. |
ThrowableAssertAlternative<T> |
withRootCauseExactlyInstanceOf(Class<? extends Throwable> type)
Verifies that the root cause of the actual
Throwable is exactly an instance of the given type. |
ThrowableAssertAlternative<T> |
withRootCauseInstanceOf(Class<? extends Throwable> type)
Verifies that the root cause of the actual
Throwable is an instance of the given type. |
ThrowableAssertAlternative<T> |
withStackTraceContaining(String description)
Verifies that the stack trace of the actual
Throwable contains with the given description. |
as, as, asList, asString, describedAs, describedAs, descriptionText, doesNotHave, doesNotHaveSameClassAs, equals, failWithMessage, getWritableAssertionInfo, has, hashCode, hasSameClassAs, hasToString, inBinary, inHexadecimal, is, isEqualTo, isExactlyInstanceOf, isIn, isIn, isInstanceOf, isInstanceOfAny, isInstanceOfSatisfying, isNot, isNotEqualTo, isNotExactlyInstanceOf, isNotIn, isNotIn, isNotInstanceOf, isNotInstanceOfAny, isNotNull, isNotOfAnyClassIn, isNotSameAs, isNull, isOfAnyClassIn, isSameAs, matches, matches, overridingErrorMessage, satisfies, setCustomRepresentation, throwAssertionError, usingComparator, usingDefaultComparator, withFailMessage, withRepresentation, withThreadDumpOnError
public ThrowableAssertAlternative<T> withMessage(String message)
Throwable
is equal to the given one.
Examples:
Throwable illegalArgumentException = new IllegalArgumentException("wrong amount 123");
// assertion will pass
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withMessage("wrong amount 123");
// assertion will fail
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withMessage("wrong amount 123 euros");
message
- the expected message.AssertionError
- if the actual Throwable
is null
.AssertionError
- if the message of the actual Throwable
is not equal to the given one.AbstractThrowableAssert.hasMessage(String)
public ThrowableAssertAlternative<T> withMessage(String message, Object... parameters)
Throwable
is equal to the given one built using String.format(String, Object...)
syntax.
Examples:
Throwable illegalArgumentException = new IllegalArgumentException("wrong amount 123");
// assertion will pass
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withMessage("wrong amount %s, "123");
// assertion will fail
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withMessage("wrong amount 123 euros");
message
- a format string representing the expected messageparameters
- argument referenced by the format specifiers in the format stringAssertionError
- if the actual Throwable
is null
.AssertionError
- if the message of the actual Throwable
is not equal to the given one.AbstractThrowableAssert.hasMessage(String)
public ThrowableAssertAlternative<T> withCause(Throwable cause)
Throwable
has a cause similar to the given one, that is with same type and message
(it does not use equals
method for comparison).
Example:
Throwable illegalArgumentException = new IllegalArgumentException("invalid arg");
Throwable wrappingException = new Throwable(illegalArgumentException);
// This assertion succeeds:
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw wrappingException;})
.withCause(illegalArgumentException);
// These assertions fail:
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw wrappingException;})
.withCause(new IllegalArgumentException("bad arg"));
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw wrappingException;})
.withCause(new NullPointerException());
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw wrappingException;})
.withCause(null);
AssertionError
- if the actual Throwable
is null
.AssertionError
- if the actual Throwable
has not the given cause.AbstractThrowableAssert.hasCause(Throwable)
public ThrowableAssertAlternative<T> withNoCause()
Throwable
does not have a cause.
Example:
IllegalArgumentException exception = new IllegalArgumentException();
// This assertion succeeds:
assertThatExceptionOfType(IllegalArgumentException.class)
.isThrownBy(() -> {throw exception;})
.withNoCause();
// These assertion fails:
Throwable illegalArgumentException = new Throwable(exception);
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withNoCause();
AssertionError
- if the actual Throwable
is null
.AssertionError
- if the actual Throwable
has a cause.AbstractThrowableAssert.hasNoCause()
public ThrowableAssertAlternative<T> withMessageStartingWith(String description)
Throwable
starts with the given description.
Examples:
Throwable illegalArgumentException = new IllegalArgumentException("wrong amount 123");
// assertion will pass
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withMessageStartingWith("wrong amount");
// assertion will fail
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withMessageStartingWith("right amount");
description
- the description expected to start the actual Throwable
's message.AssertionError
- if the actual Throwable
is null
.AssertionError
- if the message of the actual Throwable
does not start with the given description.AbstractThrowableAssert.hasMessageStartingWith(String)
public ThrowableAssertAlternative<T> withMessageContaining(String description)
Throwable
contains with the given description.
Examples:
Throwable illegalArgumentException = new IllegalArgumentException("wrong amount 123");
// assertion will pass
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withMessageContaining("amount");
// assertion will fail
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withMessageContaining("456");
description
- the description expected to be contained in the actual Throwable
's message.AssertionError
- if the actual Throwable
is null
.AssertionError
- if the message of the actual Throwable
does not contain the given description.AbstractThrowableAssert.hasMessageContaining(String)
public ThrowableAssertAlternative<T> withStackTraceContaining(String description)
Throwable
contains with the given description.
Examples:
Throwable illegalArgumentException = new IllegalArgumentException("wrong amount 123");
// assertion will pass
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withStackTraceContaining("amount");
// assertion will fail
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withStackTraceContaining("456");
description
- the description expected to be contained in the actual Throwable
's stack trace.AssertionError
- if the actual Throwable
is null
.AssertionError
- if the stack trace of the actual Throwable
does not contain the given description.AbstractThrowableAssert.hasStackTraceContaining(String)
public ThrowableAssertAlternative<T> withMessageMatching(String regex)
Throwable
matches with the given regular expression.
Examples:
Throwable illegalArgumentException = new IllegalArgumentException("wrong amount 123");
// assertion will pass
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withMessageMatching("wrong amount [0-9]*");
// assertion will fail
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withMessageMatching("wrong amount [0-9]* euros");
regex
- the regular expression of value expected to be matched the actual Throwable
's message.AssertionError
- if the actual Throwable
is null
.AssertionError
- if the message of the actual Throwable
does not match the given regular expression.NullPointerException
- if the regex is nullAbstractThrowableAssert.hasMessageMatching(String)
public ThrowableAssertAlternative<T> withMessageEndingWith(String description)
Throwable
ends with the given description.
Examples:
Throwable illegalArgumentException = new IllegalArgumentException("wrong amount 123");
// assertion will pass
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withMessageEndingWith("123");
// assertion will fail
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw illegalArgumentException;})
.withMessageEndingWith("456");
description
- the description expected to end the actual Throwable
's message.AssertionError
- if the actual Throwable
is null
.AssertionError
- if the message of the actual Throwable
does not end with the given description.AbstractThrowableAssert.hasMessageEndingWith(String)
public ThrowableAssertAlternative<T> withCauseInstanceOf(Class<? extends Throwable> type)
Throwable
is an instance of the given type.
Example:
Throwable throwable = new Throwable(new NullPointerException());
// assertion will pass
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw throwable;})
.withCauseInstanceOf(NullPointerException.class);
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw throwable;})
.withCauseInstanceOf(RuntimeException.class);
// assertion will fail
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw throwable;})
.withCauseInstanceOf(IllegalArgumentException.class);
type
- the expected cause type.NullPointerException
- if given type is null
.AssertionError
- if the actual Throwable
is null
.AssertionError
- if the actual Throwable
has no cause.AssertionError
- if the cause of the actual Throwable
is not an instance of the given type.AbstractThrowableAssert.hasCauseInstanceOf(Class)
public ThrowableAssertAlternative<T> withCauseExactlyInstanceOf(Class<? extends Throwable> type)
Throwable
is exactly an instance of the given type.
Example:
Throwable throwable = new Throwable(new NullPointerException());
// assertion will pass
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw throwable;})
.withCauseExactlyInstanceOf(NullPointerException.class);
// assertions will fail (even if NullPointerException is a RuntimeException since we want an exact match)
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw throwable;})
.withCauseExactlyInstanceOf(RuntimeException.class);
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw throwable;})
.withCauseExactlyInstanceOf(IllegalArgumentException.class);
type
- the expected cause type.NullPointerException
- if given type is null
.AssertionError
- if the actual Throwable
is null
.AssertionError
- if the actual Throwable
has no cause.AssertionError
- if the cause of the actual Throwable
is not exactly an instance of the given
type.AbstractThrowableAssert.hasCauseExactlyInstanceOf(Class)
public ThrowableAssertAlternative<T> withRootCauseInstanceOf(Class<? extends Throwable> type)
Throwable
is an instance of the given type.
Example:
Throwable throwable = new Throwable(
new IllegalStateException(
new NullPointerException()));
// assertion will pass
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw throwable;})
.withRootCauseInstanceOf(NullPointerException.class);
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw throwable;})
.withRootCauseInstanceOf(RuntimeException.class);
// assertion will fail
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw throwable;})
.withRootCauseInstanceOf(IllegalStateException.class);
type
- the expected cause type.NullPointerException
- if given type is null
.AssertionError
- if the actual Throwable
is null
.AssertionError
- if the actual Throwable
has no cause.AssertionError
- if the cause of the actual Throwable
is not an instance of the given type.AbstractThrowableAssert.hasRootCauseInstanceOf(Class)
public ThrowableAssertAlternative<T> withRootCauseExactlyInstanceOf(Class<? extends Throwable> type)
Throwable
is exactly an instance of the given type.
Example:
Throwable throwable = new Throwable(
new IllegalStateException(
new NullPointerException()));
// assertion will pass
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw throwable;})
.withRootCauseExactlyInstanceOf(NullPointerException.class);
// assertion will fail (even if NullPointerException is a RuntimeException since we want an exact match)
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw throwable;})
.withRootCauseExactlyInstanceOf(RuntimeException.class);
assertThatExceptionOfType(Throwable.class)
.isThrownBy(() -> {throw throwable;})
.withRootCauseExactlyInstanceOf(IllegalStateException.class);
type
- the expected cause type.NullPointerException
- if given type is null
.AssertionError
- if the actual Throwable
is null
.AssertionError
- if the actual Throwable
has no cause.AssertionError
- if the root cause of the actual Throwable
is not exactly an instance of the
given type.AbstractThrowableAssert.hasRootCauseExactlyInstanceOf(Class)
Copyright © 2014–2017 AssertJ. All rights reserved.