org.specs2.execute

Type members

Classlikes

class AnyValueAsResult[T] extends AsResult[T]

Type class to transform any value to a Result

Type class to transform any value to a Result

trait AsResult[T]

Typeclass trait for anything that can be transformed to a Result

Typeclass trait for anything that can be transformed to a Result

Companion:
object
object AsResult
Companion:
class

Use of the Hopcroft-Karp (https://en.wikipedia.org/wiki/Hopcroft%E2%80%93Karp_algorithm) algorithm for specs2, to the minimum set of mismatched elements, and corresponding failures

Use of the Hopcroft-Karp (https://en.wikipedia.org/wiki/Hopcroft%E2%80%93Karp_algorithm) algorithm for specs2, to the minimum set of mismatched elements, and corresponding failures

case class DecoratedResult[+T](decorator: T, result: Result) extends Result

This result allows to embed additional data with a given result for further display

This result allows to embed additional data with a given result for further display

Is is used to provide a way to display properly the data tables in the HtmlExporter

this class allows to throw a result that's decorated with additional information in an Exception

this class allows to throw a result that's decorated with additional information in an Exception

sealed trait Details

Trait to model detailed information for failures so that smart differences can be computed

Trait to model detailed information for failures so that smart differences can be computed

case class Error(m: String, t: Throwable) extends Result with ResultStackTrace

This class represents an exception occurring during an execution.

This class represents an exception occurring during an execution.

Companion:
object
case object Error

This object allows to create an Error from an exception

This object allows to create an Error from an exception

Companion:
class
case class ErrorException(f: Error) extends ExecuteException

this class allows to throw an Error result in an Exception

this class allows to throw an Error result in an Exception

This trait adds the possibility to retry a given value, convertible to a result, until it succeeds.

This trait adds the possibility to retry a given value, convertible to a result, until it succeeds.

This was adapted from a contribution by @robey (http://robey.lag.net)

Companion:
object
Companion:
class

Trait for anything that can be executed to return a Result

Trait for anything that can be executed to return a Result

trait ExecuteException extends Exception
case class Failure(m: String, e: String, stackTrace: List[StackTraceElement], details: Details) extends Result with ResultStackTrace

This class represents the failure of an execution. It has a message and a stacktrace

This class represents the failure of an execution. It has a message and a stacktrace

case class FailureDetails(actual: String, expected: String) extends Details

this class allows to throw a failure result in an Exception

this class allows to throw a failure result in an Exception

case class FailureMapDetails(actual: Map[Any, Any], expected: Map[Any, Any]) extends Details
case class FailureSeqDetails(actual: Seq[Any], expected: Seq[Any]) extends Details
case class FailureSetDetails(actual: Set[Any], expected: Set[Any]) extends Details
case object FromExpectationError extends Details
case object FromJUnitAssertionError extends Details
case object FromNotImplementedError extends Details
class Function0Result(var t: () => Result)

This class is used to delay the execution of a result

This class is used to delay the execution of a result

Companion:
object
Companion:
class
trait Isolable

This trait models elements which can be executed in a brand new context with new local variables It is used to execute examples in a new specification when needed

This trait models elements which can be executed in a brand new context with new local variables It is used to execute examples in a new specification when needed

case object NoDetails extends Details
case class Pending(m: String) extends Result

Pending result

Pending result

See also:

Result for description

this class allows to throw a pending result in an Exception

this class allows to throw a pending result in an Exception

sealed abstract class Result(val message: String, val expected: String, val expectationsNb: Int)

The result of an execution, either:

The result of an execution, either:

  • a success: the execution is ok
  • a failure: an expectation is not met
  • an error: an exception occurred
  • a pending execution: the user has decided that execution must not be performed
  • a skipped execution: based on dynamic conditions (a database not available for instance) the execution is not performed

A Result has:

  • a message describing the outcome
  • a message describing the expectation
  • possibly a number of expectations when it is the outcome of several checks (this is used for the reporting of ScalaCheck properties).
Companion:
object
object Result
Companion:
class

This trait executes a Result and returns an appropriate value when a specs2 exception is thrown

This trait executes a Result and returns an appropriate value when a specs2 exception is thrown

Companion:
object
Companion:
class

This trait adds some implicits to easily fold sequences of results

This trait adds some implicits to easily fold sequences of results

Companion:
object
Companion:
class

This trait can be used for anything that can be converted to a Result.

This trait can be used for anything that can be converted to a Result.

It is used by the MatchResult class so it can be executed as any other kind of Result by the ResultExecution class without introducing a dependency between the execute and the matcher package

This trait provides logical combinators to Results: and, or, not

This trait provides logical combinators to Results: and, or, not

A Result expression can throw an exception which will be changed into a failure or an error before being used with and/or/not

Companion:
object

The stacktrace for a Result

The stacktrace for a Result

trait Results
Companion:
object
object Results extends Results
Companion:
class
case class ScissorsCutter(cutMarker: String, cutMarkerFormat: String) extends String => String

Implementation of a function to cut pieces of code by using some comments as markers

Implementation of a function to cut pieces of code by using some comments as markers

case class SkipException(f: Skipped) extends ExecuteException

this class allows to throw a skipped result in an Exception

this class allows to throw a skipped result in an Exception

case class Skipped(m: String, e: String) extends Result

Skipped result

Skipped result

See also:

Result for description

case class Snippet[T](code: () => T, codeExpression: Option[String], params: SnippetParams[T])

Captured snippet of code with: a value of type T, a string representing the expression, captured by a macro, some evaluation and display parameters

Captured snippet of code with: a value of type T, a string representing the expression, captured by a macro, some evaluation and display parameters

Companion:
object
object Snippet
Companion:
class
case class SnippetParams[T](trimExpression: String => String, cutter: String => String, asCode: (String, String) => String, prompt: String => String, evalCode: Boolean, verify: Option[T => Result])

Evaluation and display parameters for a Snippet.

Evaluation and display parameters for a Snippet.

It is possible to change:

  • the function that's trimming the expression from newlines or accolades
  • the cutter function to remove part which must not be shown
  • the asCode function to render the resulting text
  • the prompt function to possibly display the evaluated result with a prompt
  • the eval boolean indicating if a snippet must be evaluated
  • the verify function checking the result
trait Snippets

Snippets of code can be extracted from interpolated specification strings.

Snippets of code can be extracted from interpolated specification strings.

When you want to specify that a piece of code must be included in the specification output, you can use the snippet method to execute a this code and use the text in the output. If you just want to output part of the code you need to delimit it with some comments // 8<------- (with as many dashes >= 2 as you want)

Generally the value of a snippet will not be evaluated nor displayed but it is possible to show it using the eval method on a Snippet.

It is also possible to check that the result value is correct by using the check method.

This trait provides standard results which can be used in Fragments bodies

This trait provides standard results which can be used in Fragments bodies

Companion:
object
Companion:
class
case class Success(m: String, exp: String) extends Result

This class represents the success of an execution

This class represents the success of an execution

Companion:
object
object Success

Companion object to the Success class providing a method to set the expectations number

Companion object to the Success class providing a method to set the expectations number

Companion:
class