Class AssertionFailureBuilder


  • @API(status=STABLE,
         since="5.9")
    public class AssertionFailureBuilder
    extends java.lang.Object
    Builder for AssertionFailedErrors.

    Using this builder ensures consistency in how failure message are formatted within JUnit Jupiter and for custom user-defined assertions.

    Since:
    5.9
    See Also:
    AssertionFailedError
    • Field Detail

      • message

        private java.lang.Object message
      • cause

        private java.lang.Throwable cause
      • mismatch

        private boolean mismatch
      • expected

        private java.lang.Object expected
      • actual

        private java.lang.Object actual
      • reason

        private java.lang.String reason
      • includeValuesInMessage

        private boolean includeValuesInMessage
    • Constructor Detail

      • AssertionFailureBuilder

        private AssertionFailureBuilder()
    • Method Detail

      • assertionFailure

        public static AssertionFailureBuilder assertionFailure()
        Create a new AssertionFailureBuilder.
      • message

        public AssertionFailureBuilder message​(java.lang.Object message)
        Set the user-defined message of the assertion.

        The message may be passed as a Supplier or plain String. If any other type is passed, it is converted to String as per StringUtils.nullSafeToString(Object).

        Parameters:
        message - the user-defined failure message; may be null
        Returns:
        this builder for method chaining
      • reason

        public AssertionFailureBuilder reason​(java.lang.String reason)
        Set the reason why the assertion failed.
        Parameters:
        reason - the failure reason; may be null
        Returns:
        this builder for method chaining
      • cause

        public AssertionFailureBuilder cause​(java.lang.Throwable cause)
        Set the cause of the assertion failure.
        Parameters:
        cause - the failure cause; may be null
        Returns:
        this builder for method chaining
      • expected

        public AssertionFailureBuilder expected​(java.lang.Object expected)
        Set the expected value of the assertion.
        Parameters:
        expected - the expected value; may be null
        Returns:
        this builder for method chaining
      • actual

        public AssertionFailureBuilder actual​(java.lang.Object actual)
        Set the actual value of the assertion.
        Parameters:
        actual - the actual value; may be null
        Returns:
        this builder for method chaining
      • includeValuesInMessage

        public AssertionFailureBuilder includeValuesInMessage​(boolean includeValuesInMessage)
        Set whether to include the actual and expected values in the generated failure message.
        Parameters:
        includeValuesInMessage - whether to include the actual and expected values
        Returns:
        this builder for method chaining
      • buildAndThrow

        public void buildAndThrow()
                           throws org.opentest4j.AssertionFailedError
        Build the AssertionFailedError and throw it.
        Throws:
        org.opentest4j.AssertionFailedError - always
      • build

        public org.opentest4j.AssertionFailedError build()
        Build the AssertionFailedError without throwing it.
        Returns:
        the built assertion failure
      • nullSafeGet

        private static java.lang.String nullSafeGet​(java.lang.Object messageOrSupplier)
      • buildPrefix

        private static java.lang.String buildPrefix​(java.lang.String message)
      • formatValues

        private static java.lang.String formatValues​(java.lang.Object expected,
                                                     java.lang.Object actual)
      • formatClassAndValue

        private static java.lang.String formatClassAndValue​(java.lang.Object value,
                                                            java.lang.String valueString)
      • toString

        private static java.lang.String toString​(java.lang.Object obj)
      • toHash

        private static java.lang.String toHash​(java.lang.Object obj)
      • getClassName

        private static java.lang.String getClassName​(java.lang.Object obj)