AbstractPatienceConfiguration

Trait that defines an abstract patienceConfig method that is implemented in PatienceConfiguration and can be overriden in stackable modification traits such as IntegrationPatience.

The main purpose of AbstractPatienceConfiguration is to differentiate core PatienceConfiguration traits, such as Eventually and Waiters, from stackable modification traits for PatienceConfigurations such as IntegrationPatience. Because these stackable traits extend AbstractPatienceConfiguration instead of Suite, you can't simply mix in a stackable trait:

class ExampleSpec extends FunSpec with IntegrationPatience // Won't compile

The previous code is undesirable because IntegrationPatience would have no affect on the class. Instead, you need to mix in a core PatienceConfiguration trait and mix the stackable IntegrationPatience trait into that, like this:

class ExampleSpec extends FunSpec with Eventually with IntegrationPatience // Compiles fine

The previous code is better because IntegrationPatience does have an effect: it modifies the behavior of Eventually.

class Object
trait Matchable
class Any
object Eventually.type
trait Futures
object Futures.type
object ScalaFutures.type
trait Waiters
object Waiters.type

Type members

Classlikes

final case class PatienceConfig(timeout: Span, interval: Span)

Configuration object for asynchronous constructs, such as those provided by traits Eventually and Waiters.

Configuration object for asynchronous constructs, such as those provided by traits Eventually and Waiters.

The default values for the parameters are:

Configuration ParameterDefault Value
timeout scaled(150 milliseconds)
interval scaled(15 milliseconds)
Value parameters:
interval

the amount of time to sleep between each check of the status of an asynchronous operation when polling

timeout

the maximum amount of time to wait for an asynchronous operation to complete before giving up and throwing TestFailedException.

Value members

Abstract methods

Returns a PatienceConfig value providing default configuration values if implemented and made implicit in subtraits.

Returns a PatienceConfig value providing default configuration values if implemented and made implicit in subtraits.

Inherited methods

final def scaled(span: Span): Span

Scales the passed Span by the Double factor returned by spanScaleFactor.

Scales the passed Span by the Double factor returned by spanScaleFactor.

The Span is scaled by invoking its scaledBy method, thus this method has the same behavior: The value returned by spanScaleFactor can be any positive number or zero, including a fractional number. A number greater than one will scale the Span up to a larger value. A fractional number will scale it down to a smaller value. A factor of 1.0 will cause the exact same Span to be returned. A factor of zero will cause Span.ZeroLength to be returned. If overflow occurs, Span.Max will be returned. If underflow occurs, Span.ZeroLength will be returned.

Throws:
IllegalArgumentException

if the value returned from spanScaleFactor is less than zero

Inherited from:
ScaledTimeSpans
def spanScaleFactor: Double

The factor by which the scaled method will scale Spans.

The factor by which the scaled method will scale Spans.

The default implementation of this method will return the span scale factor that was specified for the run, or 1.0 if no factor was specified. For example, you can specify a span scale factor when invoking ScalaTest via the command line by passing a -F argument to Runner.

Inherited from:
ScaledTimeSpans