Companion object that facilitates the importing of Eventually members as
an alternative to mixing in the trait. One use case is to import Eventually's members so you can use
them in the Scala interpreter:
$ scala -cp scalatest-1.8.jar
Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_29).
Type in expressions to have them evaluated.
Type :help for more information.
scala> import org.scalatest._
import org.scalatest._
scala> import Matchers._
import Matchers._
scala> import concurrent.Eventually._
import concurrent.Eventually._
scala> val xs = 1 to 125
xs: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ..., 125)
scala> val it = xs.iterator
it: Iterator[Int] = non-empty iterator
scala> eventually { it.next should be (3) }
scala> eventually { Thread.sleep(999); it.next should be (3) }
org.scalatest.TestFailedException: The code passed to eventually never returned normally.
Attempted 2 times, sleeping 10 milliseconds between each attempt.
at org.scalatest.Eventually$class.tryTryAgain$1(Eventually.scala:313)
at org.scalatest.Eventually$class.eventually(Eventually.scala:322)
...
- Companion:
- class
Type members
Inherited classlikes
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 Parameter | Default 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.
- Inherited from:
- AbstractPatienceConfiguration
Value members
Concrete methods
Inherited methods
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
The by-name parameter "succeeds" if it returns a result. It "fails" if it throws any exception that
would normally cause a test to fail. (These are any exceptions except TestPendingException and
Errors listed in the
Treatment of java.lang.Errors section of the
documentation of trait Suite.)
The maximum amount of time in milliseconds to tolerate unsuccessful attempts before giving up is configured by the timeout field of
the PatienceConfig passed implicitly as the last parameter.
The interval to sleep between attempts is configured by the interval field of
the PatienceConfig passed implicitly as the last parameter.
- Value parameters:
- config
the
PatienceConfigobject containing thetimeoutandintervalparameters- fun
the by-name parameter to repeatedly invoke
- pos
the position of the call site
- retrying
the
Retryingimplementation for typeT
- Returns:
the result of invoking the
funby-name parameter, the first time it succeeds- Inherited from:
- Eventually
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
The by-name parameter "succeeds" if it returns a result. It "fails" if it throws any exception that
would normally cause a test to fail. (These are any exceptions except TestPendingException and
Errors listed in the
Treatment of java.lang.Errors section of the
documentation of trait Suite.)
The maximum amount of time in milliseconds to tolerate unsuccessful attempts before giving up is configured by the timeout field of
the PatienceConfig passed implicitly as the last parameter.
The interval to sleep between attempts is configured by the value contained in the passed
interval parameter.
- Value parameters:
- config
the
PatienceConfigobject containing the (used)timeoutand (unused)intervalparameters- fun
the by-name parameter to repeatedly invoke
- interval
the
Intervalconfiguration parameter- pos
the position of the call site
- retrying
the
Retryingimplementation for typeT
- Returns:
the result of invoking the
funby-name parameter, the first time it succeeds- Inherited from:
- Eventually
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
The by-name parameter "succeeds" if it returns a result. It "fails" if it throws any exception that
would normally cause a test to fail. (These are any exceptions except TestPendingException and
Errors listed in the
Treatment of java.lang.Errors section of the
documentation of trait Suite.)
The maximum amount of time in milliseconds to tolerate unsuccessful attempts before giving up and throwing
TestFailedException is configured by the value contained in the passed
timeout parameter.
The interval to sleep between attempts is configured by the interval field of
the PatienceConfig passed implicitly as the last parameter.
- Value parameters:
- config
the
PatienceConfigobject containing the (unused)timeoutand (used)intervalparameters- fun
the by-name parameter to repeatedly invoke
- pos
the position of the call site
- retrying
the
Retryingimplementation for typeT- timeout
the
Timeoutconfiguration parameter
- Returns:
the result of invoking the
funby-name parameter, the first time it succeeds- Inherited from:
- Eventually
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
Invokes the passed by-name parameter repeatedly until it either succeeds, or a configured maximum amount of time has passed, sleeping a configured interval between attempts.
The by-name parameter "succeeds" if it returns a result. It "fails" if it throws any exception that
would normally cause a test to fail. (These are any exceptions except TestPendingException and
Errors listed in the
Treatment of java.lang.Errors section of the
documentation of trait Suite.)
The maximum amount of time in milliseconds to tolerate unsuccessful attempts before giving up and throwing
TestFailedException is configured by the value contained in the passed
timeout parameter.
The interval to sleep between attempts is configured by the value contained in the passed
interval parameter.
- Type parameters:
- T
type of the by-name parameter
fun
- Value parameters:
- fun
the by-name parameter to repeatedly invoke
- interval
the
Intervalconfiguration parameter- pos
the position of the call site
- retrying
the
Retryingimplementation for typeT- timeout
the
Timeoutconfiguration parameter
- Returns:
the result of invoking the
funby-name parameter, the first time it succeeds- Inherited from:
- Eventually
Returns an Interval configuration parameter containing the passed value, which
specifies the amount of time to sleep after a retry.
Returns an Interval configuration parameter containing the passed value, which
specifies the amount of time to sleep after a retry.
- Inherited from:
- PatienceConfiguration
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
spanScaleFactoris less than zero
- Inherited from:
- ScaledTimeSpans
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
Returns a Timeout configuration parameter containing the passed value, which
specifies the maximum amount to wait for an asynchronous operation to complete.
Returns a Timeout configuration parameter containing the passed value, which
specifies the maximum amount to wait for an asynchronous operation to complete.
- Inherited from:
- PatienceConfiguration
Implicits
Inherited implicits
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.
- Inherited from:
- PatienceConfiguration