Configuration object for asynchronous constructs, such as those provided by traits Eventually
and
AsyncAssertions
.
Returns an Interval
configuration parameter containing the passed value, which
specifies the amount of time to sleep after a retry.
Implicit PatienceConfig
value providing default configuration values.
Implicit PatienceConfig
value providing default configuration values.
To change the default configuration, override or hide this def
with another implicit
PatienceConfig
containing your desired default configuration values.
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.
if the value returned from spanScaleFactor
is less than zero
The factor by which the scaled
method will scale Span
s.
The factor by which the scaled
method will scale Span
s.
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
.
Returns a Timeout
configuration parameter containing the passed value, which
specifies the maximum amount to wait for an asynchronous operation to complete.
Trait providing methods and classes used to configure timeouts and, where relevant, the interval between retries.
This trait is called
PatienceConfiguration
because it allows configuration of two values related to patience: The timeout specifies how much time asynchronous operations will be given to succeed before giving up. The interval specifies how much time to wait between checks to determine success when polling.The default values for timeout and interval provided by trait
PatienceConfiguration
are tuned for unit testing, where running tests as fast as possible is a high priority and subsystems requiring asynchronous operations are therefore often replaced by mocks. This table shows the default values:timeout
scaled(150 milliseconds)
interval
scaled(15 milliseconds)
Values more appropriate to integration testing, where asynchronous operations tend to take longer because the tests are run against the actual subsytems (not mocks), can be obtained by mixing in trait
IntegrationPatience
.The default values of both timeout and interval are passed to the
scaled
method, inherited fromScaledTimeSpans
, so that the defaults can be scaled up or down together with other scaled time spans. See the documentation for traitScaledTimeSpans
for more information.Timeouts are used by the
eventually
methods of traitEventually
and theawait
method of classWaiter
, a member of traitAsyncAssertions
. Intervals are used by theeventually
methods.