org.specs2.specification

Type members

Classlikes

trait After extends Context

The After trait can be inherited by classes representing a context where an action must be executing after the main executable action

The After trait can be inherited by classes representing a context where an action must be executing after the main executable action

See also:

Example to understand why the type T must : AsResult

Companion:
object
object After
Companion:
class

Execute a step after all fragments

Execute a step after all fragments

For each created example use a given after action

For each created example use a given after action

Execute some fragments after all others

Execute some fragments after all others

trait AllExpectations extends StoredExpectations with FragmentsFactory with SpecificationStructure with ArgumentsCreation with StandardResults

This trait can be mixed-in a specification to allow examples to have all of their expectations being evaluated (unless the example body throws an exception of course).

This trait can be mixed-in a specification to allow examples to have all of their expectations being evaluated (unless the example body throws an exception of course).

All the results are collected into a list, provided by the StoredExpectations trait. These results form then the body of the each example (decorated by a special ExampleFactory) so that each example returns a Result which is the summary of all the individual issues.

It must be noted that this trait relies on a mutable list to collect the results as they are created in the example body. Because of this restriction, a Specification using that trait can either run sequentially or isolated.

If the specification is neither sequential or isolated, we force it to be isolated by default.

trait Around extends Context

The Around trait can be inherited by classes which will execute some code inside the around method provided by the context.

The Around trait can be inherited by classes which will execute some code inside the around method provided by the context.

This can be used for example to execute some code inside a webapp session

See also:

Example to understand why the type T must : AsResult

Companion:
object
object Around
Companion:
class

For each created example use a given around action

For each created example use a given around action

trait Before extends Context

The Before trait can be inherited by classes representing a context where an action must be executing before the main executable action

The Before trait can be inherited by classes representing a context where an action must be executing before the main executable action

See also:

Example to understand why the type T must : AsResult

Companion:
object
object Before
Companion:
class
trait BeforeAfter extends Before with After
Companion:
object
Companion:
class

Execute a step before and after all fragments

Execute a step before and after all fragments

For each created example use a given before action

For each created example use a given before action

Execute some fragments before and after all others

Execute some fragments before and after all others

Execute a step before all fragments

Execute a step before all fragments

For each created example use a given before action

For each created example use a given before action

Execute some fragments before all others

Execute some fragments before all others

trait Context extends Scope

generic trait for Before, After, Around

generic trait for Before, After, Around

Companion:
object
object Context
Companion:
class

For each created example use a context using the command line arguments

For each created example use a context using the command line arguments

For each created example use a given context

For each created example use a given context

case class ExamplesGroup(var name: String)
class ExecutionVar(var execution: () => Execution)
Companion:
object
Companion:
class
trait Fixture[T]

A Fixture can be implicitly passed to a set of examples taking a function as an input.

A Fixture can be implicitly passed to a set of examples taking a function as an input.

It can effectively act as a parameterized Around context

Companion:
object
object Fixture
Companion:
class
trait ForEach[T] extends FragmentsFactory

For each created example use a given fixture object

For each created example use a given fixture object

For each example but inject data depending on command line arguments

For each example but inject data depending on command line arguments

trait Grouped extends GroupsLike

This trait can be used to standardize names for groups of examples in an acceptance specification.

This trait can be used to standardize names for groups of examples in an acceptance specification.

class MySpecification extends Specification with Examples { def is = s2""" first example in first group ${g1.e1} second example in first group ${g1.e2}

first example in second group ${g2.e1} second example in second group ${g2.e2} """ }

trait Examples extends Grouped with Matchers { "first group of examples" - new g1 { e1 := ok e2 := ok } "second group of examples" - new g2 { e1 := ok e2 := ok } }

If you don't want to manage groups and examples numbers it is also possible to write the following (note the script.Specification):

class MySpecification extends script.Specification with Examples { def is = s2""" first example in first group second example in first group

first example in second group second example in second group """ }

trait Examples extends Grouped with Matchers { "first group of examples" - new group { eg := ok eg := ok } "second group of examples" - new group { eg := ok eg := ok } }

trait Groups extends GroupsLike

This trait can be used to standardize names for groups of examples in an acceptance specification.

This trait can be used to standardize names for groups of examples in an acceptance specification.

class MySpecification extends Specification with Examples { def is = s2""" first example in first group ${g1().e1} second example in first group ${g1().e2}

first example in second group ${g2().e1} second example in second group ${g2().e2} """ }

trait Examples extends Groups with Matchers { "first group of examples" - new g1 { e1 := ok e2 := ok } "second group of examples" - new g2 { e1 := ok e2 := ok } }

It is important to notice that the examples must be called with g1().e1 so as to create a new g1 trait instance with new local variables for the example e1. If this is not required, the Grouped trait can be used instead

If you don't want to manage groups and examples numbers it is also possible to write the following (note the script.Specification):

class MySpecification extends script.Specification with Examples { def is = s2""" first example in first group second example in first group

first example in second group second example in second group """ }

trait Examples extends Groups with Matchers { "first group of examples" - new group { eg := ok eg := ok } "second group of examples" - new group { eg := ok eg := ok } }

class ResultsContext(results: => Seq[Result]) extends StoredResultsContext with StoredResults

This class is used to evaluate a Context as a sequence of results by side-effects.

This class is used to evaluate a Context as a sequence of results by side-effects.

See also:

the AllExpectations trait for its use

trait Retries extends AroundEach
trait Scope extends Scope

Marker trait that is used to create a new scope with variables and implicitly converted to a Success in a mutable Specification

Marker trait that is used to create a new scope with variables and implicitly converted to a Success in a mutable Specification

trait Snippets extends 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 as you want)

Generally the last value of a snippet will be displayed separately but it is possible to avoid this by using the mute method on a Snippet.

It is also possible to check that the result value is equal to a specific value by using the check[R : AsResult](f: T => R) method.

trait SpecificationFeatures extends MustMatchers with ShouldMatchers with StandardResults with StandardMatchResults with PendingUntilFixed with ImplicitParameters with Debug with ImplicitExecutionContexts

List of all the features which are being included the default Specification class:

List of all the features which are being included the default Specification class:

  • matchers (with the expectations dsl and the most common matchers)
  • standard results
  • pending until fixed
  • implicit parameters to overload some method calls
  • .pp calls to print out some expressions
trait StoredExpectationsContext extends StoredExpectations with StoredResultsContext

This trait can be used when it is not desirable to use the AllExpectations trait, that is, when the specification examples must be executed concurrently and not isolated.

This trait can be used when it is not desirable to use the AllExpectations trait, that is, when the specification examples must be executed concurrently and not isolated.

See also:

the UserGuide on how to use this trait

This trait is a context which will use the results provided by the class inheriting that trait. It evaluates the result of an example, which is supposed to create side-effects and returns the 'storedResults' as the summary of all results

This trait is a context which will use the results provided by the class inheriting that trait. It evaluates the result of an example, which is supposed to create side-effects and returns the 'storedResults' as the summary of all results

trait Tables extends DataTables with NoBangExamples

This trait allows to use Data tables with simple ! as column separator when the first column is a string. However the syntax for creating examples with a String and a ! is deactivated

This trait allows to use Data tables with simple ! as column separator when the first column is a string. However the syntax for creating examples with a String and a ! is deactivated

Companion:
object
object Tables extends Tables with Expectations
Companion:
class