public class AbstractSoftAssertions
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected SoftProxies |
proxies |
Constructor and Description |
---|
AbstractSoftAssertions() |
Modifier and Type | Method and Description |
---|---|
private void |
addLineNumberToErrorMessage(java.lang.Throwable error) |
private java.util.List<java.lang.Throwable> |
addLineNumberToErrorMessages(java.util.List<java.lang.Throwable> errors) |
private java.lang.String |
buildErrorMessageWithLineNumber(java.lang.String originalErrorMessage,
java.lang.StackTraceElement testStackTraceElement) |
private void |
changeErrorMessage(java.lang.Throwable error,
java.lang.String errorMessageWithLineNumber) |
java.util.List<java.lang.Throwable> |
errorsCollected()
Returns a copy of list of soft assertions collected errors.
|
void |
fail(java.lang.String failureMessage)
Fails with the given message.
|
void |
fail(java.lang.String failureMessage,
java.lang.Object... args)
Fails with the given message built like
String.format(String, Object...) . |
void |
fail(java.lang.String failureMessage,
java.lang.Throwable realCause)
Fails with the given message and with the
Throwable that caused the failure. |
void |
failBecauseExceptionWasNotThrown(java.lang.Class<? extends java.lang.Throwable> throwableClass)
Fails with a message explaining that a
Throwable of given class was expected to be thrown
but had not been. |
private java.lang.StackTraceElement |
getFirstStackTraceElementFromTest(java.lang.StackTraceElement[] stacktrace) |
<T,V> V |
proxy(java.lang.Class<V> assertClass,
java.lang.Class<T> actualClass,
T actual) |
void |
shouldHaveThrown(java.lang.Class<? extends java.lang.Throwable> throwableClass)
Fails with a message explaining that a
Throwable of given class was expected to be thrown
but had not been. |
private java.lang.String |
simpleClassNameOf(java.lang.StackTraceElement testStackTraceElement) |
boolean |
wasSuccess()
Returns the result of last soft assertion which can be used to decide what the next one should be.
|
protected final SoftProxies proxies
public <T,V> V proxy(java.lang.Class<V> assertClass, java.lang.Class<T> actualClass, T actual)
public void fail(java.lang.String failureMessage)
failureMessage
- error message.public void fail(java.lang.String failureMessage, java.lang.Object... args)
String.format(String, Object...)
.failureMessage
- error message.public void fail(java.lang.String failureMessage, java.lang.Throwable realCause)
Throwable
that caused the failure.failureMessage
- error message.realCause
- cause of the error.public void failBecauseExceptionWasNotThrown(java.lang.Class<? extends java.lang.Throwable> throwableClass)
Throwable
of given class was expected to be thrown
but had not been.throwableClass
- the Throwable class that was expected to be thrown.java.lang.AssertionError
- with a message explaining that a Throwable
of given class was expected to be thrown but had
not been.Fail.shouldHaveThrown(Class)
can be used as a replacement.public void shouldHaveThrown(java.lang.Class<? extends java.lang.Throwable> throwableClass)
Throwable
of given class was expected to be thrown
but had not been.throwableClass
- the Throwable class that was expected to be thrown.java.lang.AssertionError
- with a message explaining that a Throwable
of given class was expected to be thrown but had
not been.public java.util.List<java.lang.Throwable> errorsCollected()
public boolean wasSuccess()
Example :
Person person = ...
SoftAssertions soft = new SoftAssertions();
if (soft.assertThat(person.getAddress()).isNotNull().wasSuccess()) {
soft.assertThat(person.getAddress().getStreet()).isNotNull();
}
private java.util.List<java.lang.Throwable> addLineNumberToErrorMessages(java.util.List<java.lang.Throwable> errors)
private void addLineNumberToErrorMessage(java.lang.Throwable error)
private java.lang.String buildErrorMessageWithLineNumber(java.lang.String originalErrorMessage, java.lang.StackTraceElement testStackTraceElement)
private void changeErrorMessage(java.lang.Throwable error, java.lang.String errorMessageWithLineNumber)
private java.lang.String simpleClassNameOf(java.lang.StackTraceElement testStackTraceElement)
private java.lang.StackTraceElement getFirstStackTraceElementFromTest(java.lang.StackTraceElement[] stacktrace)