This AI is still in early stages of development.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

The unit test function, responsible for performing one or more Test Assertions...

 

Syntax

The scope of unit test functions is manipulated before a test runs, so you cannot reference variables defined in the function's scope chain (closures will not work either).

If you want to reference variables external to the Unit Test function, pass them in via a settings object defined in the associated Test() invocation.

function(settings) {
	// code and assertions
}

Parameters

ParameterTypeNotesAPI Version
settingsVariantThe settings data passed in to Test(), if applicable.1.0

Return value

The return value is not processed.

Notes

Within the unit test, the following additional variables and properties are also available:

Property / VariableTypeTest.APPEND( ) modeAny other modeAPI Version
_globalObject

A reference to the global object (not scope).

This variable is defined by Test API and is thus safer to use within tests than the equivalent global defined by Util API.

1.0
modulePathStringThe modulePath that the test is running in – see Test.module() for more information.1.1
moduleSettings

Object

Undefined

The moduleSettings for the modulePath, if specified in the Module Lifecycle Object.

If the module doesn't have settings, the variable will have a value of undefined.

1.1
this.settingsVariant

The settings associated with the Test.ASYNCH( ) that initiated the current asynchronous test session.

The settings associated with your unit test (also available via the settings parameter on the unit test function)1.0
testSettingsVariantThe settings associated with your unit test.1.0
testNameStringThe name of your unit test.1.0
testModeObject

An object describing the test mode, with the following properties:

  • testMode.name = "ASYNCH"
  • testMode.appendTo = name of the Test.ASYNCH() test that this test appends
  • testMode.after = "WAIT"

An object describing the test mode, with the following mandatory properties:

  • testMode.name = either "ANY", "EXPECT" or "ASYNCH" depending on the test mode
  • testMode.after = either "DONE" or "WAIT" depending on the test mode

There may be several other properties depending on the test mode – For more information see Test API - Dev Notes.

1.0

Example

var mySettings = {bar: "fish"};
Test("Foo", Test.ANY( ), function(settings) {
	comment( "My first unit test!" );
	equal( "fish", settings.bar, "settings.bar == 'fish'?" );
}, mySettings);
Availability STABLE

Requires:

Contents

Jump to:

Test API

Topics:

  • Test()Define a unit test and it's configuration...
  • Test ModulesA test module groups one or more unit tests and provides additional lifecycle settings for those tests...
  • Test ModesDefines the mode in which a unit test is run...
    • Test.ANY( )The most basic unit test mode...
    • Test.EXPECT( )Causes the test to fail if it does not generate the specified number of results...
    • Test.ASYNCH( )Causes a test to keep running until it either passes, fails or times-out...
    • Test.APPEND( )Appends results to a specific asynchronous test session...
  • Unit TestsThe unit test function, responsible for performing one or more Test Assertions...
  • Test AssertionsAssertions are used to perform various tests and annotations within a unit test...
    • comment( )Adds a comment to the test results...
    • ok( )A simple state checking assertion...
    • hasNative( )Assert presence of a native property on the global object...
    • hasFunction( )Check if a context has a function property, optionally with specified number of formal parameters...
    • equal( )A basic equality checking assertion...
    • notEqual( )A basic inequality checking assertion...
    • strictEqual( )A strict equality checking assertion...
    • notStrictEqual( )A strict inequality checking assertion...
    • deepEqual( )A deep equality checking assertion...
    • notDeepEqual( )A deep inequality checking assertion...
    • similarTo( )A deep similarity checking assertion...
    • notSimilarTo( )A deep dissimilarity spotting assertion...
  • Test SignalsSignals are used to prematurely terminate Unit Tests...
    • REQUIRE( )Check whether a test or group of tests have passed. If the requirement fails, a RequireSignal will be sent which terminates the current test and marks it as failed.
    • ABORT( )Aborts the current test, marking it as failed in the process...
    • FINISH( )Terminates the test as if it had finished normally...
  • Test EventsEvents defined by Test API...
  • Test ResultsAfter testing is finished, output results...
  • Test API - Dev NotesDeveloper notes for this API...

 

  • No labels