OutcomeOf

object OutcomeOf extends OutcomeOf

Companion object that facilitates the importing of OutcomeOf's method as an alternative to mixing it in. One use case is to import OutcomeOf's method so you can use it in the Scala interpreter.

Companion:
class
trait OutcomeOf
class Object
trait Matchable
class Any

Value members

Inherited methods

def outcomeOf(f: => Any): Outcome

Executes the supplied code (a by-name parameter) and returns an Outcome.

Executes the supplied code (a by-name parameter) and returns an Outcome.

Because Errors are used to denote serious errors, ScalaTest does not always treat a test that completes abruptly with an Error as a test failure, but sometimes as an indication that serious problems have arisen that should cause the run to abort, and the outcomeOf method exhibits the same behavior. For example, if a test completes abruptly with an OutOfMemoryError, it will not be reported as a test failure, but will instead cause the run to abort. Because not everyone uses Errors only to represent serious problems, however, ScalaTest only behaves this way for the following exception types (and their subclasses):

  • java.lang.annotation.AnnotationFormatError

  • java.awt.AWTError

  • java.nio.charset.CoderMalfunctionError

  • javax.xml.parsers.FactoryConfigurationError

  • java.lang.LinkageError

  • java.lang.ThreadDeath

  • javax.xml.transform.TransformerFactoryConfigurationError

  • java.lang.VirtualMachineError

The previous list includes all Errors that exist as part of Java 1.5 API, excluding java.lang.AssertionError. If the code supplied to outcomeOf completes abruptly in one of the errors in the previous list, outcomeOf will not return an Outcome, but rather will complete abruptly with the same exception. will wrap any other exception thrown by the supplied code in a Some and return it.

The outcomeOf method (and ScalaTest in general) does treat a thrown AssertionError as an indication of a test failure and therefore returns a Failed wrapping the AssertionError. In addition, any other Error that is not an instance of a type mentioned in the previous list will be caught by the outcomeOf and transformed as follows:

If the code block completes normally (i.e., it doesn't throw any exception), outcomeOf results in Succeeded.

Value parameters:
f

a block of code to execute

Returns:

an Outcome representing the outcome of executing the block of code

Inherited from:
OutcomeOf