trait Disk extends Annotation
Annotation used to tag a test, or suite of tests, as being disk-intensive (i.e., consuming a large amount of disk-IO bandwidth when it runs).
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 disk-intensive, you can annotate the test class with @Disk, like this:
package org.scalatest.examples.flatspec.diskall
import org.scalatest._
import tags.Disk
@Disk
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 @Disk tag annotation means that both tests
in the class are disk-intensive.
Another use case for @Disk is to mark test methods as disk-intensive in traits Spec
and fixture.Spec. Here's an example:
package org.scalatest.examples.spec.disk
import org.scalatest._
import tags.Disk
class SetSpec extends RefSpec {
@Disk 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.
Note that because reflection is not supported on Scala.js, this annotation will only work on the JVM, not on Scala.js.
- Source
- Disk.scala
- Alphabetic
- By Inheritance
- Disk
- Annotation
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def annotationType(): Class[_ <: Annotation]
- Definition Classes
- Annotation
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()