This trait can be mixed in a reporter to allow the exporting of an executed specification to many different formats: html, junit xml, markdown, custom,.
The console reporter executes a Specification and exports the results to the Console Output:
The console reporter executes a Specification and exports the results to the Console Output:
- DefaultSelection filters and sorts the Fragments - DefaultExecutionStrategy executes the Examples concurrently by default - TextExporting prints the results in a Tree manner (using a TextOutput)
This trait uses Scalaz promises to execute Fragments concurrently
This trait uses Scalaz promises to execute Fragments concurrently
It uses a Fixed thread pool with a number of threads to execute the fragments. The default number is the number of available threads by default but this can be overridden by providing different Arguments
The DefaultSelection trait filters the fragments to execute by filtering Examples:
The DefaultSelection trait filters the fragments to execute by filtering Examples:
- by tags - according to their names - according to their previous execution
If the isolated
argument is passed, then each example is executed in its own copy of the specification
The DefaultSequence trait sorts the Fragments by making sure Steps will be executed before Examples
This repository store the results in one file per specification, in a special directory
This repository store the results in one file per specification, in a special directory
This solution is preferred over having a single file for all specifications because of the possible concurrent execution of specifications
This trait "isolates" examples by replacing their body with another one, created from a clone of the specification.
This trait filters examples based on their description
this case class transports the fragments to execute, grouped in sequences of examples which can be executed concurrently
public trait to create a custom exporter
This reporter will just notify the test interface about test results for the end statistics
This reporter will just notify the test interface about test results for the end statistics
It is only used if we are not using the Console exporter
Specific events which can be notified to sbt
This class computes the 'level' of a given fragment.
This class computes the 'level' of a given fragment. It is used to indent Fragments in a ConsoleReporter and to create a tree or Descriptions in the JUnit runner
It does so by considering that some fragments have an effect on the indentation of the next fragment
- a Text fragment is an Indent(1) so it indents the next fragment once - a Tab(n) fragment is an Indent(n) so it indents the next fragment n times - a Backtab(n) fragment is an Unindent(n) so it un-indents the next fragment n times - an Example fragment is a Terminal(), it doesn't do anything. This means that 2 consecutive examples will stay at the same level - an End fragment is a Reset, it set the level of the next fragment to 0 level
Logger with info, failure, error where each new message is displayed on a new line
This outputs the textual results of an executed specification to a LineLogger
Null implementation for the Exporting trait
This output can be used for testing
This trait allows to remove any console display during the execution of an example
This trait allows to remove any console display during the execution of an example
Of course it needs to be understood that the output might be completely messed up when executing specifications and examples concurrently
This trait allows to remove any console display during the execution of the examples of a Specification
This trait can be used for any event concerning the execution of examples seen as a Tree of Fragments.
This trait can be used for any event concerning the execution of examples seen as a Tree of Fragments.
A pair of contextStart/contextEnd calls delimits a sequence of children in that tree.
Report a Specification by notifying execution events to a Notifier
A Reporter will report the execution of a Specification following 3 steps:
A Reporter will report the execution of a Specification following 3 steps:
1. an extraction of the Fragments to report (like creating Descriptions for JUnit)
2. an ordering of the Fragments to execute:
3. a reporting to:
This traits provides specialised print methods for message representing different types of results.
This traits provides specialised print methods for message representing different types of results. They can be overridden to define a more specific behaviour.
Reporter for the test interface defined for sbt
Reporter for the test interface defined for sbt
It prints out the result to the output defined by the sbt loggers and publishes events to sbt event handlers
The Selection trait implements the logic for filtering the fragments to execute
The Sequence trait implements the logic for the fragments to execute according to their dependencies
This trait selects examples based on their previous execution
This trait stores the results of an executed specification It also updates the statistics of:
This trait stores the results of an executed specification It also updates the statistics of:
This trait selects fragments based on their tags
Reporter for the test interface defined for sbt
Reporter for the test interface defined for sbt
It prints out the result to the output defined by the sbt loggers and publishes events to sbt event handlers
This trait prints the executed fragments results and statistics at the end of the specification
This trait reduces a list of ExecutedFragments to a list of PrintLines.
This trait reduces a list of ExecutedFragments to a list of PrintLines.
Each line contains: - A description (text or example description) - A level, to work out the indenting - Some statistics, to print on SpecEnd - The current arguments, to control the conditional printing of text, statistics,...
This reporter can be used to get the result of a specification execution as a String
Implementation of the ResultOutput trait as Text
This trait can be mixed in a reporter to allow the exporting of an executed specification to many different formats: html, junit xml, markdown, custom,...