Class webdriver.testing.TestCase

code »
goog.testing.TestCase
  └ webdriver.testing.TestCase

Constructs a test case that synchronizes each test case with the singleton webdriver.promise.ControlFlow.

Constructor

webdriver.testing.TestCase ( client, opt_name )
Parameters
client: !webdriver.testing.Client
The test client to use for reporting test results.
opt_name: string=
The name of the test case, defaults to 'Untitled Test Case'.
Show:

Instance Methods

Defined in webdriver.testing.TestCase

Executes the next test inside its own webdriver.Application.

code »logError ( name, opt_e )goog.testing.TestCase.Error
Parameters
name
opt_e

Executes a single test, scheduling each phase with the global application. Each phase will wait for the application to go idle before moving on to the next test phase. This function models the follow basic test flow: try { this.setUp.call(test.scope); test.ref.call(test.scope); } catch (ex) { onError(ex); } finally { try { this.tearDown.call(test.scope); } catch (e) { onError(e); } }

Parameters
test: !goog.testing.TestCase.Test
The test to run.
onError: function(*)
The function to call each time an error is detected.
Returns
A promise that will be resolved when the test has finished running.

Defined in goog.testing.TestCase

code »add ( test )

Adds a new test to the test case.

Parameters
test: goog.testing.TestCase.Test
The test to add.
code »addNewTest ( name, ref, opt_scope )

Creates and adds a new test. Convenience function to make syntax less awkward when not using automatic test discovery.

Parameters
name: string
The test name.
ref: !Function
Reference to the test function.
opt_scope: !Object=
Optional scope that the test function should be called in.

Adds any functions defined in the global scope that correspond to lifecycle events for the test case. Overrides setUp, tearDown, setUpPage, tearDownPage and runTests if they are defined.

Adds any functions defined in the global scope that are prefixed with "test" to the test case.

Clears a timeout created by this.timeout().

Parameters
id: number
A timeout id.

Counts the number of files that were loaded for dependencies that are required to run the test.

Returns
The number of files loaded.

Creates a goog.testing.TestCase.Test from an auto-discovered function.

Parameters
name: string
The name of the function.
ref: function(): void
The auto-discovered function.
Returns
The newly created test.
code »doError ( test, opt_e )

Handles a test that failed.

Parameters
test: goog.testing.TestCase.Test
The test that failed.
opt_e: *=
The exception object associated with the failure or a string.

Handles a test that passed.

Parameters
test: goog.testing.TestCase.Test
The test that passed.

Executes each of the tests.

Finalizes the test case, called when the tests have finished executing.

Returns the number of tests actually run in the test case, i.e. subtracting any which are skipped.

Returns
The number of un-ignored tests.
Returns
The function name prefix used to auto-discover tests.
Returns
Time since the last batch of tests was started.

Returns the number of tests contained in the test case.

Returns
The number of tests.
code »getGlobals ( opt_prefix )!Array

Gets list of objects that potentially contain test cases. For IE 8 and below, this is the global "this" (for properties set directly on the global this or window) and the RuntimeObject (for global variables and functions). For all other browsers, the array simply contains the global this.

Parameters
opt_prefix: string=
An optional prefix. If specified, only get things under this prefix. Note that the prefix is only honored in IE, since it supports the RuntimeObject: http://msdn.microsoft.com/en-us/library/ff521039%28VS.85%29.aspx TODO: Remove this option.
Returns
A list of objects that should be inspected.
Returns
The name of the test.

Returns the number of script files that were loaded in order to run the test.

Returns
The number of script files.
code »getReport ( opt_verbose )string

Returns a string detailing the results from the test.

Parameters
opt_verbose: boolean=
If true results will include data about all tests, not just what failed.
Returns
The results from the test.

Returns the amount of time it took for the test to run.

Returns
The run time, in milliseconds.

Returns the test results object: a map from test names to a list of test failures (if any exist).

Returns
Tests results object.

Gets the tests.

Returns
The test array.

Returns the current time.

Returns
HH:MM:SS.
Returns
Whether the test case is running inside the multi test runner.
Returns
Whether the test was a success.
code »log ( val )

Logs an object to the console, if available.

Parameters
val: *
The value to log. Will be ToString'd.

Checks to see if the test should be marked as failed before it is run. If there was an error in setUpPage, we treat that as a failure for all tests and mark them all as having failed.

Parameters
testCase: goog.testing.TestCase.Test
The current test case.
Returns
Whether the test was marked as failed.

Returns the current test and increments the pointer.

Returns
The current test case.
Returns
The current time in milliseconds, don't use goog.now as some tests override it.

Reorders the tests depending on the order field.

Parameters
tests: Array.<goog.testing.TestCase.Test>
An array of tests to reorder.
code »pad_ ( number )string

Pads a number to make it have a leading zero if it's less than 10.

Parameters
number: number
The number to pad.
Returns
The resulting string.

Resets the test case pointer, so that next returns the first test.

Executes each of the tests. Overridable by the individual test case. This allows test cases to defer when the test is actually started. If overridden, finalize must be called by the test to indicate it has finished.

code »saveMessage ( message )

Saves a message to the result set.

Parameters
message: string
The message to save.
code »setBatchTime ( batchTime )
Parameters
batchTime: number
Time since the last batch of tests was started.

Sets the callback function that should be executed when the tests have completed.

Parameters
fn: Function
The callback function.
code »setTests ( tests )

Sets the tests.

Parameters
tests: !Array.<goog.testing.TestCase.Test>
A new test array.

Gets called before every goog.testing.TestCase.Test is been executed. Can be overridden to add set up functionality to each test.

Gets called before any tests are executed. Can be overridden to set up the environment for the whole test case.

Can be overridden in test classes to indicate whether the tests in a case should be run in that particular situation. For example, this could be used to stop tests running in a particular browser, where browser support for the class under test was absent.

Returns
Whether any of the tests in the case should be run.

Gets called after every goog.testing.TestCase.Test has been executed. Can be overriden to add tear down functionality to each test.

Gets called after all tests have been executed. Can be overridden to tear down the entire test case.

code »timeout ( fn, time )number

Calls a function after a delay, using the protected timeout.

Parameters
fn: Function
The function to call.
time: number
Delay in milliseconds.
Returns
The timeout id.

Trims a path to be only that after google3.

Parameters
path: string
The path to trim.
Returns
The resulting string.

Instance Properties

Defined in webdriver.testing.TestCase

code »client_ : !webdriver.testing.Client

Defined in goog.testing.TestCase

Time since the last batch of tests was started, if batchTime exceeds #maxRunTime a timeout will be used to stop the tests blocking the browser and a new batch will be started.

Pointer to the current test.

Exception object that was detected before a test runs.

A name for the test case.

Optional callback that will be executed when the test has finalized.

The order to run the auto-discovered tests in.

Object used to encapsulate the test results.

Whether the test case is running.

Timestamp for when the test was started.

Whether the test case has ever tried to execute.

Set of test names and/or indices to execute, or null if all tests should be executed. Indices are included to allow automation tools to run a subset of the tests without knowing the exact contents of the test file. Indices should only be used with SORTED ordering. Example valid values:

  • [testName]
  • [testName1, testName2]
  • [2] - will run the 3rd test in the order specified
  • [1,3,5]
  • [testName1, testName2, 3, 5] - will work

    Array of test functions that can be executed.

    Static Properties