# Yahoo! UI Library

### test 3.3.0

Yahoo! UI Library > test > Test.Runner
Search:
Filters Show Private Show Protected Show Deprecated

## `static` Class Test.Runner

Runs test suites and test cases, providing events to allowing for the interpretation of test results.

### Properties

#### _cur - `private static TestNode`

Pointer to the current node in the test tree.

#### _lastResults - `private static Object`

Holds copy of the results object generated when all tests are complete.

#### _log - `private static Boolean`

Indicates if the TestRunner will log events or not.

#### _root - `private static TestNode`

Pointer to the root node in the test tree.

#### _running - `private static Boolean`

Indicates if the TestRunner is currently running tests.

#### _waiting - `private static Boolean`

Indicates if the TestRunner is waiting as a result of wait() being called.

#### masterSuite - `private static Y.Test.Suite`

Suite on which to attach all TestSuites and TestCases to be run.

### Methods

#### _addTestCaseToTestTree

`private static Void _addTestCaseToTestTree ( parentNode , testCase )`
Adds a test case to the test tree as a child of the specified node.

Parameters:
  `parentNode <TestNode>` The node to add the test case to as a child.
  `testCase <Y.Test.Case>` The test case to add.

#### _addTestSuiteToTestTree

`private static Void _addTestSuiteToTestTree ( parentNode , testSuite )`
Adds a test suite to the test tree as a child of the specified node.

Parameters:
  `parentNode <TestNode>` The node to add the test suite to as a child.
  `testSuite <Y.Test.Suite>` The test suite to add.

#### _buildTestTree

`private static Void _buildTestTree ( )`
Builds the test tree based on items in the master suite. The tree is a hierarchical representation of the test suites, test cases, and test functions. The resulting tree is stored in _root and the pointer _cur is set to the root initially.

#### _handleError

`private static Void _handleError ( error )`
Handles an error as if it occurred within the currently executing test. This is for mock methods that may be called asynchronously and therefore out of the scope of the TestRunner. Previously, this error would bubble up to the browser. Now, this method is used to tell TestRunner about the error. This should never be called by anyplace other than the Mock object.

Parameters:
  `error <Error>` The error object.

#### _handleTestObjectComplete

`private Void _handleTestObjectComplete ( node )`
Handles the completion of a test object's tests. Tallies test results from one level up to the next.

Parameters:
  `node <TestNode>` The TestNode representing the test object.

#### _logEvent

`private static Void _logEvent ( event )`
Logs TestRunner events using Y.log().

Parameters:
  `event <Object>` The event object for the event.

#### _next

`private static TestNode _next ( )`
Retrieves the next node in the test tree.

Returns: `TestNode`
  The next node in the test tree or null if the end is reached.

#### _run

`private static Object _run ( testObject )`
Runs a test case or test suite, returning the results.

Parameters:
  `testObject <Y.Test.Case|Y.Test.Suite>` The test case or test suite to run.

Returns: `Object`
  Results of the execution with properties passed, failed, and total.

#### _runTest

`private static Void _runTest ( node )`
Runs a single test based on the data provided in the node.

Parameters:
  `node <TestNode>` The TestNode representing the test to run.

#### add

`static Void add ( testObject )`
Adds a test suite or test case to the list of test objects to run.

Parameters:
  `testObject <object>` Either a TestCase or a TestSuite that should be run.

#### clear

`static Void clear ( )`
Removes all test objects from the runner.

#### disableLogging

`static Void disableLogging ( )`
Disable logging via Y.log(). Test output will not be visible unless TestRunner events are subscribed to.

#### enableLogging

`static Void enableLogging ( )`
Enable logging via Y.log(). Test output is published and can be read via logreader.

#### getCoverage

`Object|String getCoverage ( format )`
Returns the coverage report for the files that have been executed. This returns only coverage information for files that have been instrumented using YUI Test Coverage and only those that were run in the same pass.

Parameters:
  `format <Function>` (Optional) A coverage format to return results in.

Returns: `Object|String`
  Either the coverage object or, if a coverage format is specified, a string representing the results in that format.

#### getName

`String getName ( )`
Retrieves the name of the current result set.

Returns: `String`
  The name of the result set.

#### getResults

`Object|String getResults ( format )`
Returns the last complete results set from the TestRunner. Null is returned if the TestRunner is running or no tests have been run.

Parameters:
  `format <Function>` (Optional) A test format to return the results in.

Returns: `Object|String`
  Either the results object or, if a test format is passed as the argument, a string representing the results in a specific format.

#### isRunning

`Boolean isRunning ( )`
Indicates that the TestRunner is busy running tests and therefore can't be stopped and results cannot be gathered.

Returns: `Boolean`
  True if the TestRunner is running, false if not.

#### isWaiting

`static Boolean isWaiting ( )`
Indicates if the TestRunner is waiting for a test to resume

Returns: `Boolean`
  True if the TestRunner is waiting, false if not.

#### resume

`static Void resume ( segment )`
Resumes the TestRunner after wait() was called.

Parameters:
  `segment <Function>` The function to run as the rest of the haulted test.

#### run

`static Void run ( oldMode )`
Runs the test suite.

Parameters:
  `oldMode <Boolean>` (Optional) Specifies that the <= 2.8 way of internally managing test suites should be used.

#### setName

`Void setName ( name )`
The name assigned to the master suite of the TestRunner. This is the name that is output as the root's name when results are retrieved.

Parameters:
  `name <String>` The name of the result set.

### Events

#### begin

`static begin ( )`
Fires when the run() method is called.

#### complete

`static complete ( )`
Fires when all test suites and test cases have been completed.

#### fail

`static fail ( )`
Fires when a test has failed.

#### ignore

`static ignore ( )`
Fires when a test has been ignored.

#### pass

`static pass ( )`
Fires when a test has passed.

#### testcasebegin

`static testcasebegin ( )`
Fires when a test case is opened but before the first test is executed.

#### testcasecomplete

`static testcasecomplete ( )`
Fires when all tests in a test case have been executed.

#### testsuitebegin

`static testsuitebegin ( )`
Fires when a test suite is opened but before the first test is executed.

#### testsuitecomplete

`static testsuitecomplete ( )`
Fires when all test cases in a test suite have been completed.

Copyright © 2011 Yahoo! Inc. All rights reserved.