Trait

org.scalatest

AsyncFeatureSpecLike

Related Doc: package scalatest

Permalink

trait AsyncFeatureSpecLike extends AsyncSuite with AsyncTestRegistration

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
AsyncFeatureSpecLike
Annotations
@Finders()
Linear Supertypes
AsyncTestRegistration, AsyncSuite, Suite, Serializable, Serializable, Assertions, TripleEquals, TripleEqualsSupport, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. AsyncFeatureSpecLike
  2. AsyncTestRegistration
  3. AsyncSuite
  4. Suite
  5. Serializable
  6. Serializable
  7. Assertions
  8. TripleEquals
  9. TripleEqualsSupport
  10. AnyRef
  11. 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 NoArgAsyncTest extends () ⇒ Future[Outcome] with TestData

    Permalink
    Definition Classes
    AsyncSuite
  5. trait NoArgTest extends () ⇒ Outcome with TestData

    Permalink
    Attributes
    protected
    Definition Classes
    Suite

Abstract Value Members

  1. implicit abstract def executionContext: ExecutionContext

    Permalink
    Definition Classes
    AsyncSuite

Concrete 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. final def asInstanceOf[T0]: T0

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    Assertions
  19. val assertionsHelper: AssertionsHelper

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  28. implicit def convertAssertionToFutureAssertion(assertion: Assertion): Future[Assertion]

    Permalink
    Definition Classes
    AsyncSuite
  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: ⇒ Future[Assertion]): 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 intercept[T <: AnyRef](f: ⇒ Any)(implicit classTag: ClassTag[T]): T

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

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

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

    Permalink
    Definition Classes
    TripleEquals → TripleEqualsSupport
  54. final def ne(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    Suite
  56. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  58. def parallelAsyncTestExecution: Boolean

    Permalink
    Attributes
    protected[org.scalatest]
    Definition Classes
    AsyncSuite
  59. def pending: Assertion with PendingStatement

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

    Permalink
    Definition Classes
    Assertions
  61. final def registerIgnoredTest(testText: String, testTags: Tag*)(testFun: ⇒ Future[Assertion]): Unit

    Permalink
    Definition Classes
    AsyncFeatureSpecLike → AsyncTestRegistration
  62. final def registerTest(testText: String, testTags: Tag*)(testFun: ⇒ Future[Assertion]): Unit

    Permalink
    Definition Classes
    AsyncFeatureSpecLike → AsyncTestRegistration
  63. def rerunner: Option[String]

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

    Permalink
    Definition Classes
    AsyncFeatureSpecLike → Suite
  65. def runNestedSuites(args: Args): Status

    Permalink
    Attributes
    protected
    Definition Classes
    Suite
  66. 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
    AsyncFeatureSpecLike → Suite
    Exceptions thrown

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

  67. 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
    AsyncFeatureSpecLike → 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.

  68. def scenario(specText: String, testTags: Tag*)(testFun: ⇒ Future[Assertion]): 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

  69. 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
  70. final val styleName: String

    Permalink

    Suite style name.

    Suite style name.

    Definition Classes
    AsyncFeatureSpecLike → Suite
  71. final val succeed: Succeeded.type

    Permalink
    Definition Classes
    Assertions
  72. def suiteId: String

    Permalink
    Definition Classes
    Suite
  73. def suiteName: String

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

    Permalink
    Definition Classes
    AnyRef
  75. 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
    AsyncFeatureSpecLike → Suite
  76. def testDataFor(testName: String, theConfigMap: ConfigMap = ConfigMap.empty): TestData

    Permalink
    Definition Classes
    AsyncFeatureSpecLike → Suite
  77. 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
    AsyncFeatureSpecLike → Suite
  78. def toString(): String

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  85. def withAsyncFixture(test: NoArgAsyncTest): Future[Outcome]

    Permalink
    Definition Classes
    AsyncSuite
  86. def withClue[T](clue: Any)(fun: ⇒ T): T

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

    Permalink
    Definition Classes
    AsyncSuite → Suite

Inherited from AsyncTestRegistration

Inherited from AsyncSuite

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