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
Value members
Inherited methods
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 Error
s 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 Error
s 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 Error
s 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:
-
otherwise:
Failed
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