Trait

org.scalatest.exceptions

ModifiablePayload

Related Doc: package exceptions

Permalink

trait ModifiablePayload[T <: Throwable] extends AnyRef

Trait implemented by PayloadField exception types that can modify their payload.

This trait facilitates the withPayload construct provided by trait Payloads. This construct enables a payload object (or modified payload object) to be included as the payload of a thrown exception. The payload can then be included in the ScalaTest event that results from that exception. For example, the payload included in a TestFailedException will be included as the payload of the resulting TestFailed event. Here's an example in which a GUI snapshot is included as a payload when a test fails:

withPayload(generateGUISnapshot()) {
  1 + 1 should === (3)
}

Exception types that mix in this trait have a modifyPayload method, which returns an exception identical to itself, except with the payload option replaced with the result of invoking the passed function, supplying the current payload option as the lone Option[Any] parameter.

Self Type
ModifiablePayload[T] with Throwable with PayloadField
Source
ModifiablePayload.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ModifiablePayload
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def modifyPayload(fun: (Option[Any]) ⇒ Option[Any]): T

    Permalink

    Returns an instance of this exception's class, identical to this exception, except with the payload option replaced with the result of invoking the passed function, fun, supplying the current payload option as the lone Option[Any] parameter.

    Returns an instance of this exception's class, identical to this exception, except with the payload option replaced with the result of invoking the passed function, fun, supplying the current payload option as the lone Option[Any] parameter.

    Implementations of this method may either mutate this exception or return a new instance with the revised detail message.

    fun

    A function that returns the new payload option given the old one