Object

org.scalatest

SucceededStatus

Related Doc: package scalatest

Permalink

object SucceededStatus extends Status with Serializable

Singleton status that represents an already completed run with no tests failed and no suites aborted.

Note: the difference between this SucceededStatus object and the similarly named Succeeded object is that the Succeeded object indicates one test succeeded, whereas this SucceededStatus object indicates the absence of any failed tests or aborted suites during a run. Both are used as the result type of Suite lifecycle methods, but Succeeded is a possible result of withFixture, whereas SucceededStatus is a possible result of run, runNestedSuites, runTests, or runTest. In short, Succeeded is always just about one test, whereas SucceededStatus could be about something larger: multiple tests or an entire suite.

Linear Supertypes
Serializable, Status, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SucceededStatus
  2. Serializable
  3. Status
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  11. def isCompleted: Boolean

    Permalink

    Always returns true.

    Always returns true.

    returns

    true

    Definition Classes
    SucceededStatusStatus
  12. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  16. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  17. final def thenRun(f: ⇒ Status): Status

    Permalink

    Registers a Status-producing by-name function to execute after this Status completes, returning a Status that mirrors the Status returned by the by-name.

    Registers a Status-producing by-name function to execute after this Status completes, returning a Status that mirrors the Status returned by the by-name.

    This method is used by async styles to ensure that by default, each subsequent test in an async-style suite begins execution only after the previous test has completed. This method is not used if ParallelTestExection is mixed into an async style. Instead, tests are allowed to begin execution concurrently.

    The Status returned by this method will completes when the status produced by the Status produced by the passed-by name completes. The returned Status will complete with the same succeeds and unreportedException values. But unlike the Status produced by the by-name, the returned Status will be available immediately.

    If a by-name function passed to this method

    returns

    a Status that represents the status of executing the by-name function passed to this method.

    Definition Classes
    Status
  18. final def toFuture: Future[Boolean]

    Permalink

    Converts this Status to a Future[Boolean] where Success(true) means no tests failed and suites aborted, Success(false), means at least one test failed or one suite aborted and those events were reported via the Reporter, Failure(ex) means a suite aborted but the exception, ex, was not reported to the Reporter.

    Converts this Status to a Future[Boolean] where Success(true) means no tests failed and suites aborted, Success(false), means at least one test failed or one suite aborted and those events were reported via the Reporter, Failure(ex) means a suite aborted but the exception, ex, was not reported to the Reporter.

    Definition Classes
    Status
  19. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  20. def unreportedException: Option[Throwable]

    Permalink

    An exception that was not reported by the activity represented by this Status.

    An exception that was not reported by the activity represented by this Status.

    When a test executes, "non-test-fatal" thrown exceptions are reported by the events fired to the reporter. A TestPendingException is reported via a TestPending event. A TestCanceledException is reported via a TestCanceled event. Any other non-test-fatal exceptions, including TestFailedException will be reported via a TestFailed event.

    Test-fatal exceptions indicate critical problems, such as OutOfMemoryError, that instead of being reported via a test completion event should instead cause the entire suite to abort. In synchronous testing styles, this exception will be allowed to just propagate up the call stack. But in async styles, the thread or threads executing the test will often be taken from the async suite's execution context. Instead of propagating these test-fatal exceptions up the call stack, they will be installed as an "unreported exception" in the test's Status. They are "unreported" because no test completion event will be fired to report them. For more explanation and a list of test-fatal exception types, see Treatment of java.lang.Errors.

    Another way for an unreported exception to occur is if an exception of any type is thrown outside of the body of an actual test. For example, traits BeforeAndAfter, BeforeAndAfterEach, and BeforeAndAfterEachTestData execute code before and after tests. Traits BeforeAndAfterAll and BeforeAndAfterAllConfigMap execute code before and after all tests and nested suites. If any "before" or "after" code completes abruptly with an exception (of any type, not just test-fatal types) on a thread taken from an async suite's execution context, this exception will installed as an unreportedException of the relevant Status. TODO: Is that true. Tests will tell.

    In addition, ScalaTest Suite exposes four "run" lifecycle methods--run, runNestedSuites, runTests, and runTest--that users can override to customize the framework. If a "run" lifecycle methods completes abruptly with an exception, that exception occurs outside the context of a test body. As a result, such exceptions will be installed as an unreportedException of the relevant Status.

    The toFuture method on Status returns a Future[Boolean]. If the Future succeeds with the Boolean value of true, that indicates no tests failed and no suites aborted during the activity represented by this Status. If a test failed or suite aborted, and that event was reported by a fired ScalaTest Event, the Future will succeed with the value false. If an unreported exception has been installed on the Status, however, the Future will fail with that exception.

    Definition Classes
    Status
  21. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. def whenCompleted(f: (Try[Boolean]) ⇒ Unit): Unit

    Permalink

    Executes the passed function immediately on the calling thread.

    Executes the passed function immediately on the calling thread.

    Definition Classes
    SucceededStatusStatus
  25. final def withAfterEffect(f: ⇒ Unit): Status

    Permalink

    Registers a by-name function (producing an optional exception) to execute after this Status completes.

    Registers a by-name function (producing an optional exception) to execute after this Status completes.

    This method is used by traits BeforeAndAfter, BeforeAndAfterAllConfigMap, BeforeAndAfterEach, and BeforeAndAfterEachTestData to ensure "after" code is executed after the relevant test completes, or the case of BeforeAndAfterAll, tests and nested suites complete. BeforeAndAfterAll,

    So what's wierd about this one is that I have it returning Option[Throwable], because that was what I had in hand, but I need to specify what happens if the method throws an exception anyway, so maybe it should be thrown instead of optionally returned. Also, what happens if it is a test-aborting exception. I think what should happen is it shows up in the status as an unreportedException, but wrapped in an ExecutionException. This would simplify the thing. Then also what happens if it is that, is the inner exception, the real one is allowed to propagate up the call stack.

    Definition Classes
    Status

Inherited from Serializable

Inherited from Status

Inherited from AnyRef

Inherited from Any

Ungrouped