Trait

org.scalatest

FeatureSpecLike

Related Doc: package scalatest

Permalink

trait FeatureSpecLike extends Suite with TestRegistration with Informing with Notifying with Alerting with Documenting

Implementation trait for class FeatureSpec, which represents a suite of tests in which each test represents one scenario of a feature.

FeatureSpec is a class, not a trait, to minimize compile time given there is a slight compiler overhead to mixing in traits compared to extending classes. If you need to mix the behavior of FeatureSpec into some other class, you can use this trait instead, because class FeatureSpec does nothing more than extend this trait and add a nice toString implementation.

See the documentation of the class for a detailed overview of FeatureSpec.

Self Type
FeatureSpecLike
Annotations
@Finders()
Linear Supertypes
Documenting, Alerting, Notifying, Informing, TestRegistration, Suite, Serializable, Serializable, Assertions, TripleEquals, TripleEqualsSupport, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. FeatureSpecLike
  2. Documenting
  3. Alerting
  4. Notifying
  5. Informing
  6. TestRegistration
  7. Suite
  8. Serializable
  9. Serializable
  10. Assertions
  11. TripleEquals
  12. TripleEqualsSupport
  13. AnyRef
  14. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. class AssertionsHelper extends AnyRef

    Permalink
    Definition Classes
    Assertions
  2. class CheckingEqualizer[L] extends AnyRef

    Permalink
    Definition Classes
    TripleEqualsSupport
  3. class Equalizer[L] extends AnyRef

    Permalink
    Definition Classes
    TripleEqualsSupport
  4. trait NoArgTest extends () ⇒ Outcome with TestData

    Permalink
    Attributes
    protected
    Definition Classes
    Suite

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. def !==[T](right: Spread[T]): TripleEqualsInvocationOnSpread[T]

    Permalink
    Definition Classes
    TripleEqualsSupport
  3. def !==(right: Null): TripleEqualsInvocation[Null]

    Permalink
    Definition Classes
    TripleEqualsSupport
  4. def !==[T](right: T): TripleEqualsInvocation[T]

    Permalink
    Definition Classes
    TripleEqualsSupport
  5. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  6. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  7. def ===[T](right: Spread[T]): TripleEqualsInvocationOnSpread[T]

    Permalink
    Definition Classes
    TripleEqualsSupport
  8. def ===(right: Null): TripleEqualsInvocation[Null]

    Permalink
    Definition Classes
    TripleEqualsSupport
  9. def ===[T](right: T): TripleEqualsInvocation[T]

    Permalink
    Definition Classes
    TripleEqualsSupport
  10. def alert: Alerter

    Permalink

    Returns an Alerter that during test execution will forward strings (and other objects) passed to its apply method to the current reporter.

    Returns an Alerter that during test execution will forward strings (and other objects) passed to its apply method to the current reporter. If invoked in a constructor, it will register the passed string for forwarding later during test execution. If invoked while this FeatureSpec is being executed, such as from inside a test function, it will forward the information to the current reporter immediately. If invoked at any other time, it will print to the standard output. This method can be called safely by any thread.

    Attributes
    protected
    Definition Classes
    FeatureSpecLike → Alerting
  11. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  12. macro def assert(condition: Boolean, clue: Any): Assertion

    Permalink
    Definition Classes
    Assertions
  13. macro def assert(condition: Boolean): Assertion

    Permalink
    Definition Classes
    Assertions
  14. macro def assertCompiles(code: String): Assertion

    Permalink
    Definition Classes
    Assertions
  15. macro def assertDoesNotCompile(code: String): Assertion

    Permalink
    Definition Classes
    Assertions
  16. def assertResult(expected: Any)(actual: Any): Assertion

    Permalink
    Definition Classes
    Assertions
  17. def assertResult(expected: Any, clue: Any)(actual: Any): Assertion

    Permalink
    Definition Classes
    Assertions
  18. def assertThrows[T <: AnyRef](f: ⇒ Any)(implicit classTag: ClassTag[T]): Assertion

    Permalink
    Definition Classes
    Assertions
  19. macro def assertTypeError(code: String): Assertion

    Permalink
    Definition Classes
    Assertions
  20. val assertionsHelper: AssertionsHelper

    Permalink
    Definition Classes
    Assertions
  21. macro def assume(condition: Boolean, clue: Any): Assertion

    Permalink
    Definition Classes
    Assertions
  22. macro def assume(condition: Boolean): Assertion

    Permalink
    Definition Classes
    Assertions
  23. def cancel(cause: Throwable): Nothing

    Permalink
    Definition Classes
    Assertions
  24. def cancel(message: String, cause: Throwable): Nothing

    Permalink
    Definition Classes
    Assertions
  25. def cancel(message: String): Nothing

    Permalink
    Definition Classes
    Assertions
  26. def cancel(): Nothing

    Permalink
    Definition Classes
    Assertions
  27. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. def conversionCheckedConstraint[A, B](implicit equivalenceOfA: Equivalence[A], cnv: (B) ⇒ A): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  29. def convertEquivalenceToAToBConstraint[A, B](equivalenceOfB: Equivalence[B])(implicit ev: <:<[A, B]): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  30. def convertEquivalenceToAToBConversionConstraint[A, B](equivalenceOfB: Equivalence[B])(implicit ev: (A) ⇒ B): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  31. def convertEquivalenceToBToAConstraint[A, B](equivalenceOfA: Equivalence[A])(implicit ev: <:<[B, A]): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  32. def convertEquivalenceToBToAConversionConstraint[A, B](equivalenceOfA: Equivalence[A])(implicit ev: (B) ⇒ A): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  33. def convertToCheckingEqualizer[T](left: T): CheckingEqualizer[T]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  34. implicit def convertToEqualizer[T](left: T): Equalizer[T]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  35. def defaultEquality[A]: Equality[A]

    Permalink
    Definition Classes
    TripleEqualsSupport
  36. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  37. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  38. final def execute: Unit

    Permalink
    Definition Classes
    Suite
  39. final def execute(testName: String, configMap: ConfigMap, color: Boolean, durations: Boolean, shortstacks: Boolean, fullstacks: Boolean, stats: Boolean): Unit

    Permalink
    Definition Classes
    Suite
  40. def expectedTestCount(filter: Filter): Int

    Permalink
    Definition Classes
    Suite
  41. def fail(cause: Throwable): Nothing

    Permalink
    Definition Classes
    Assertions
  42. def fail(message: String, cause: Throwable): Nothing

    Permalink
    Definition Classes
    Assertions
  43. def fail(message: String): Nothing

    Permalink
    Definition Classes
    Assertions
  44. def fail(): Nothing

    Permalink
    Definition Classes
    Assertions
  45. def feature(description: String)(fun: ⇒ Unit): Unit

    Permalink

    Describe a “subject” being specified and tested by the passed function value.

    Describe a “subject” being specified and tested by the passed function value. The passed function value may contain more describers (defined with describe) and/or tests (defined with it). This trait's implementation of this method will register the description string and immediately invoke the passed function.

    Attributes
    protected
  46. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  47. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  48. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  49. def ignore(specText: String, testTags: Tag*)(testFun: ⇒ Unit): Unit

    Permalink

    Register a test to ignore, which has the given spec text, optional tags, and test function value that takes no arguments.

    Register a test to ignore, which has the given spec text, optional tags, and test function value that takes no arguments. This method will register the test for later ignoring via an invocation of one of the execute methods. This method exists to make it easy to ignore an existing test by changing the call to it to ignore without deleting or commenting out the actual test code. The test will not be executed, but a report will be sent that indicates the test was ignored. The name of the test will be a concatenation of the text of all surrounding describers, from outside in, and the passed spec text, with one space placed between each item. (See the documenation for testNames for an example.) The resulting test name must not have been registered previously on this FeatureSpec instance.

    specText

    the specification text, which will be combined with the descText of any surrounding describers to form the test name

    testTags

    the optional list of tags for this test

    testFun

    the test function

    Attributes
    protected
    Exceptions thrown

    DuplicateTestNameException if a test with the same name has been registered previously

    NullArgumentException if specText or any passed test tag is null

    TestRegistrationClosedException if invoked after run has been invoked on this suite

  50. def info: Informer

    Permalink

    Returns an Informer that during test execution will forward strings passed to its apply method to the current reporter.

    Returns an Informer that during test execution will forward strings passed to its apply method to the current reporter. If invoked in a constructor, it will register the passed string for forwarding later during test execution. If invoked from inside a scope, it will forward the information to the current reporter immediately. If invoked from inside a test function, it will record the information and forward it to the current reporter only after the test completed, as recordedEvents of the test completed event, such as TestSucceeded. If invoked at any other time, it will print to the standard output. This method can be called safely by any thread.

    Attributes
    protected
    Definition Classes
    FeatureSpecLike → Informing
  51. def intercept[T <: AnyRef](f: ⇒ Any)(implicit classTag: ClassTag[T]): T

    Permalink
    Definition Classes
    Assertions
  52. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  53. def lowPriorityConversionCheckedConstraint[A, B](implicit equivalenceOfB: Equivalence[B], cnv: (A) ⇒ B): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  54. def lowPriorityTypeCheckedConstraint[A, B](implicit equivalenceOfB: Equivalence[B], ev: <:<[A, B]): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  55. def markup: Documenter

    Permalink

    Returns a Documenter that during test execution will forward strings passed to its apply method to the current reporter.

    Returns a Documenter that during test execution will forward strings passed to its apply method to the current reporter. If invoked in a constructor, it will register the passed string for forwarding later during test execution. If invoked from inside a scope, it will forward the information to the current reporter immediately. If invoked from inside a test function, it will record the information and forward it to the current reporter only after the test completed, as recordedEvents of the test completed event, such as TestSucceeded. If invoked at any other time, it will print to the standard output. This method can be called safely by any thread.

    Attributes
    protected
    Definition Classes
    FeatureSpecLike → Documenting
  56. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  57. def nestedSuites: IndexedSeq[Suite]

    Permalink
    Definition Classes
    Suite
  58. def note: Notifier

    Permalink

    Returns a Notifier that during test execution will forward strings (and other objects) passed to its apply method to the current reporter.

    Returns a Notifier that during test execution will forward strings (and other objects) passed to its apply method to the current reporter. If invoked in a constructor, it will register the passed string for forwarding later during test execution. If invoked while this FeatureSpec is being executed, such as from inside a test function, it will forward the information to the current reporter immediately. If invoked at any other time, it will print to the standard output. This method can be called safely by any thread.

    Attributes
    protected
    Definition Classes
    FeatureSpecLike → Notifying
  59. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  60. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  61. def pending: Assertion with PendingStatement

    Permalink
    Definition Classes
    Assertions
  62. def pendingUntilFixed(f: ⇒ Unit): Assertion with PendingStatement

    Permalink
    Definition Classes
    Assertions
  63. final def registerIgnoredTest(testText: String, testTags: Tag*)(testFun: ⇒ Unit): Unit

    Permalink
    Definition Classes
    FeatureSpecLike → TestRegistration
  64. final def registerTest(testText: String, testTags: Tag*)(testFun: ⇒ Unit): Unit

    Permalink
    Definition Classes
    FeatureSpecLike → TestRegistration
  65. def rerunner: Option[String]

    Permalink
    Definition Classes
    Suite
  66. def run(testName: Option[String], args: Args): Status

    Permalink
    Definition Classes
    FeatureSpecLike → Suite
  67. def runNestedSuites(args: Args): Status

    Permalink
    Attributes
    protected
    Definition Classes
    Suite
  68. def runTest(testName: String, args: Args): Status

    Permalink

    Run a test.

    Run a test. This trait's implementation runs the test registered with the name specified by testName. Each test's name is a concatenation of the text of all describers surrounding a test, from outside in, and the test's spec text, with one space placed between each item. (See the documenation for testNames for an example.)

    testName

    the name of one test to execute.

    args

    the Args for this run

    returns

    a Status object that indicates when the test started by this method has completed, and whether or not it failed .

    Attributes
    protected
    Definition Classes
    FeatureSpecLike → Suite
    Exceptions thrown

    NullArgumentException if any of testName, reporter, stopper, or configMap is null.

  69. def runTests(testName: Option[String], args: Args): Status

    Permalink

    Run zero to many of this FeatureSpec's tests.

    Run zero to many of this FeatureSpec's tests.

    This method takes a testName parameter that optionally specifies a test to invoke. If testName is Some, this trait's implementation of this method invokes runTest on this object, passing in:

    • testName - the String value of the testName Option passed to this method
    • reporter - the Reporter passed to this method, or one that wraps and delegates to it
    • stopper - the Stopper passed to this method, or one that wraps and delegates to it
    • configMap - the configMap passed to this method, or one that wraps and delegates to it

    This method takes a Set of tag names that should be included (tagsToInclude), and a Set that should be excluded (tagsToExclude), when deciding which of this Suite's tests to execute. If tagsToInclude is empty, all tests will be executed except those those belonging to tags listed in the tagsToExclude Set. If tagsToInclude is non-empty, only tests belonging to tags mentioned in tagsToInclude, and not mentioned in tagsToExclude will be executed. However, if testName is Some, tagsToInclude and tagsToExclude are essentially ignored. Only if testName is None will tagsToInclude and tagsToExclude be consulted to determine which of the tests named in the testNames Set should be run. For more information on trait tags, see the main documentation for this trait.

    If testName is None, this trait's implementation of this method invokes testNames on this Suite to get a Set of names of tests to potentially execute. (A testNames value of None essentially acts as a wildcard that means all tests in this Suite that are selected by tagsToInclude and tagsToExclude should be executed.) For each test in the testName Set, in the order they appear in the iterator obtained by invoking the elements method on the Set, this trait's implementation of this method checks whether the test should be run based on the tagsToInclude and tagsToExclude Sets. If so, this implementation invokes runTest, passing in:

    • testName - the String name of the test to run (which will be one of the names in the testNames Set)
    • reporter - the Reporter passed to this method, or one that wraps and delegates to it
    • stopper - the Stopper passed to this method, or one that wraps and delegates to it
    • configMap - the configMap passed to this method, or one that wraps and delegates to it
    testName

    an optional name of one test to run. If None, all relevant tests should be run. I.e., None acts like a wildcard that means run all relevant tests in this Suite.

    args

    the Args for this run

    returns

    a Status object that indicates when all tests started by this method have completed, and whether or not a failure occurred.

    Attributes
    protected
    Definition Classes
    FeatureSpecLike → Suite
    Exceptions thrown

    IllegalArgumentException if testName is defined, but no test with the specified test name exists in this Suite

    NullArgumentException if any of the passed parameters is null.

  70. def scenario(specText: String, testTags: Tag*)(testFun: ⇒ Unit): Unit

    Permalink

    Register a test with the given spec text, optional tags, and test function value that takes no arguments.

    Register a test with the given spec text, optional tags, and test function value that takes no arguments. An invocation of this method is called an “example.”

    This method will register the test for later execution via an invocation of one of the execute methods. The name of the test will be a concatenation of the text of all surrounding describers, from outside in, and the passed spec text, with one space placed between each item. (See the documenation for testNames for an example.) The resulting test name must not have been registered previously on this FeatureSpec instance.

    specText

    the specification text, which will be combined with the descText of any surrounding describers to form the test name

    testTags

    the optional list of tags for this test

    testFun

    the test function

    Attributes
    protected
    Exceptions thrown

    DuplicateTestNameException if a test with the same name has been registered previously

    NullArgumentException if specText or any passed test tag is null

    TestRegistrationClosedException if invoked after run has been invoked on this suite

  71. def scenariosFor(unit: Unit): Unit

    Permalink

    Registers shared scenarios.

    Registers shared scenarios.

    This method enables the following syntax for shared scenarios in a FeatureSpec:

    scenariosFor(nonEmptyStack(lastValuePushed))
    

    This method just provides syntax sugar intended to make the intent of the code clearer. Because the parameter passed to it is type Unit, the expression will be evaluated before being passed, which is sufficient to register the shared scenarios. For examples of shared scenarios, see the Shared scenarios section in the main documentation for this trait.

    Attributes
    protected
  72. final val styleName: String

    Permalink

    Suite style name.

    Suite style name.

    Definition Classes
    FeatureSpecLike → Suite
  73. final val succeed: Succeeded.type

    Permalink
    Definition Classes
    Assertions
  74. def suiteId: String

    Permalink
    Definition Classes
    Suite
  75. def suiteName: String

    Permalink
    Definition Classes
    Suite
  76. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  77. def tags: Map[String, Set[String]]

    Permalink

    A Map whose keys are String names of tagged tests and whose associated values are the Set of tag names for the test.

    A Map whose keys are String names of tagged tests and whose associated values are the Set of tag names for the test. If this FeatureSpec contains no tags, this method returns an empty Map.

    This trait's implementation returns tags that were passed as strings contained in Tag objects passed to methods scenario and ignore.

    In addition, this trait's implementation will also auto-tag tests with class level annotations. For example, if you annotate @Ignore at the class level, all test methods in the class will be auto-annotated with org.scalatest.Ignore.

    Definition Classes
    FeatureSpecLike → Suite
  78. def testDataFor(testName: String, theConfigMap: ConfigMap = ConfigMap.empty): TestData

    Permalink
    Definition Classes
    FeatureSpecLike → Suite
  79. def testNames: Set[String]

    Permalink

    An immutable Set of test names.

    An immutable Set of test names. If this FeatureSpec contains no tests, this method returns an empty Set.

    This trait's implementation of this method will return a set that contains the names of all registered tests. The set's iterator will return those names in the order in which the tests were registered. Each test's name is composed of the concatenation of the text of each surrounding describer, in order from outside in, and the text of the example itself, with all components separated by a space. For example, consider this FeatureSpec:

    import org.scalatest.FeatureSpec
    
    class StackSpec extends FeatureSpec {
      feature("A Stack") {
        scenario("(when not empty) must allow me to pop") {}
        scenario("(when not full) must allow me to push") {}
      }
    }
    

    Invoking testNames on this FeatureSpec will yield a set that contains the following two test name strings:

    "A Stack (when not empty) must allow me to pop"
    "A Stack (when not full) must allow me to push"
    

    Definition Classes
    FeatureSpecLike → Suite
  80. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  81. def trap[T](f: ⇒ T): Throwable

    Permalink
    Definition Classes
    Assertions
  82. def typeCheckedConstraint[A, B](implicit equivalenceOfA: Equivalence[A], ev: <:<[B, A]): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  83. implicit def unconstrainedEquality[A, B](implicit equalityOfA: Equality[A]): CanEqual[A, B]

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  84. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  85. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  86. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  87. def withClue[T](clue: Any)(fun: ⇒ T): T

    Permalink
    Definition Classes
    Assertions
  88. def withFixture(test: NoArgTest): Outcome

    Permalink
    Attributes
    protected
    Definition Classes
    Suite

Inherited from Documenting

Inherited from Alerting

Inherited from Notifying

Inherited from Informing

Inherited from TestRegistration

Inherited from Suite

Inherited from Serializable

Inherited from Serializable

Inherited from Assertions

Inherited from TripleEquals

Inherited from TripleEqualsSupport

Inherited from AnyRef

Inherited from Any

Ungrouped