Annotation used to tag a test, or suite of tests, as being slow (i.e., requiring a long time to run).
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.
If you wish to mark an entire suite of tests as being slow, you can annotate the test class with @Slow, like this:
package org.scalatest.examples.flatspec.slowall
import org.scalatest._
import tags.Slow
@Slow
class SetSpec extends FlatSpec {
"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 @Slow tag annotation means that both tests
in are slow.
Another use case for @Slow is to mark test methods as slow in traits Spec
and fixture.Spec. Here's an example:
package org.scalatest.examples.spec.slow
import org.scalatest._
import tags.Slow
class SetSpec extends Spec {
@Slow 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.
Annotation used to tag a test, or suite of tests, as being slow (i.e., requiring a long time to run).
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.
If you wish to mark an entire suite of tests as being slow, you can annotate the test class with
@Slow
, 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@Slow
tag annotation means that both tests in are slow.Another use case for
@Slow
is to mark test methods as slow 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
.