PHP Class lithium\test\Report

While Lithium already comes with a text-based as well as web-based test interface, you may use or extend the Report class to create your own test reporter functionality. In addition, you can also create your own custom templates for displaying results in a different format, such as json. Example usage, for built-in HTML format/reporter: {{{ $report = new Report(array( 'title' => 'Test Report Title', 'group' => new Group(array('data' => array('\lithium\tests\cases\net\http\MediaTest'))), 'format' => 'html', 'reporter' => 'html' )); $report->run(); Get the test stats: $report->stats(); Get test results: $report->results }}} You may also choose to filter the results of the test runs to obtain additional information. For example, say you wish to calculate the cyclomatic complexity of the classes you are testing: {{{ $report = new Report(array( 'title' => 'Test Report Title', 'group' => new Group(array('data' => array('\lithium\tests\cases\net\http\MediaTest'))), 'filters' => array('Complexity') )); $report->run(); Get test results, including filter results: $report->results }}}
See also: lithium\test\Group
See also: lithium\test\filter
See also: lithium\test\templates
Inheritance: extends lithium\core\Object
Show file Open project: unionofrad/lithium Class Usage Examples

Public Properties

Property Type Description
$group object Contains an instance of lithium\test\Group, which contains all unit tests to be executed this test run.
$results array Group and filter results.
$timer array Start and end timers.
$title string Title of the group being run.

Protected Properties

Property Type Description
$_filters array An array key on fully-namespaced class names of the filter with options to be applied for the filter as the value

Public Methods

Method Description
__construct ( array $config = [] ) : void Constructor.
collect ( string $class, array $results ) : void Collects Results from the test filters and aggregates them.
filters ( array $filters = [] )
render ( string $template, string | array $data = [] ) : string Renders the test output (e.g. layouts and filter templates).
run ( ) : void Runs tests.
stats ( ) : array Return statistics from the test runs.

Protected Methods

Method Description
_init ( ) : void Initializer.

Method Details

__construct() public method

Constructor.
public __construct ( array $config = [] ) : void
$config array Options array for the test run. Valid options are: - `'group'`: The test group with items to be run. - `'filters'`: An array of filters that the test output should be run through. - `'format'`: The format of the template to use, defaults to `'txt'`. - `'reporter'`: The reporter to use.
return void

_init() protected method

Initializer.
protected _init ( ) : void
return void

collect() public method

Collects Results from the test filters and aggregates them.
public collect ( string $class, array $results ) : void
$class string Classname of the filter for which to aggregate results.
$results array Array of the filter results for later analysis by the filter itself.
return void

filters() public method

public filters ( array $filters = [] )
$filters array

render() public method

Renders the test output (e.g. layouts and filter templates).
public render ( string $template, string | array $data = [] ) : string
$template string name of the template (i.e. `'layout'`).
$data string | array array from `_data()` method.
return string

run() public method

Runs tests.
public run ( ) : void
return void

stats() public method

Return statistics from the test runs.
public stats ( ) : array
return array

Property Details

$_filters protected property

An array key on fully-namespaced class names of the filter with options to be applied for the filter as the value
protected array $_filters
return array

$group public property

Contains an instance of lithium\test\Group, which contains all unit tests to be executed this test run.
See also: lithium\test\Group
public object $group
return object

$results public property

Group and filter results.
public array $results
return array

$timer public property

Start and end timers.
public array $timer
return array

$title public property

Title of the group being run.
public string $title
return string