Tag annotation that indicates a test is a candidate for retrying on either failure, cancellation, or both.
Note: This is actually an annotation defined in Java, not a Scala trait. It must be defined in Java instead of Scala so it will be accessible
at runtime. It has been inserted into Scaladoc by pretending it is a trait.
This tag annotation is intended to be used in conjunction with trait Retries, to
identify tests that are candidates for retrying.
If you wish to mark all tests in a test class as being candidates for retries, you can annotate the test class with
@Retryable, like this:
"An empty Set" should "have size 0" in {
assert(Set.empty.size === 0)
}
it should "produce NoSuchElementException when head is invoked" in {
intercept[NoSuchElementException] {
Set.empty.head
}
}
}
When you mark a test class with a tag annotation, ScalaTest will mark each test defined in that class with that tag.
Thus, marking the SetSpec in the above example with the @Retryable tag annotation means that both tests
in the class are candidates for retrying.
Another use case for @Retryable is to mark test methods as being candidates for retries in traits
Spec and fixture.Spec. Here's an example:
@Retryable def `an empty Set should have size 0` {
assert(Set.empty.size === 0)
}
def `invoking head on an empty Set should produce NoSuchElementException` {
intercept[NoSuchElementException] {
Set.empty.head
}
}
}
The main use case of annotating a test or suite of tests is to select or deselect them during runs by supplying tags to include and/or exclude. For more information,
see the relevant section in the documentation of object Runner.
Tag annotation that indicates a test is a candidate for retrying on either failure, cancellation, or both.
Note: This is actually an annotation defined in Java, not a Scala trait. It must be defined in Java instead of Scala so it will be accessible at runtime. It has been inserted into Scaladoc by pretending it is a trait.
This tag annotation is intended to be used in conjunction with trait
Retries
, to identify tests that are candidates for retrying.If you wish to mark all tests in a test class as being candidates for retries, you can annotate the test class with
@Retryable
, like this:When you mark a test class with a tag annotation, ScalaTest will mark each test defined in that class with that tag. Thus, marking the
SetSpec
in the above example with the@Retryable
tag annotation means that both tests in the class are candidates for retrying.Another use case for
@Retryable
is to mark test methods as being candidates for retries in traitsSpec
andfixture.Spec
. Here's an example:The main use case of annotating a test or suite of tests is to select or deselect them during runs by supplying tags to include and/or exclude. For more information, see the relevant section in the documentation of object
Runner
.