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 (see Example section below).
function([settingsRef]) {
// code and assertions
}
Parameters
Parameter
Type
Mandatory
Notes
API Version
settingsRef
Variant
You can use the first formal parameter of the function to get a custom-named reference to the settings associated with the unit test.
Note: The test settings will always be available via the testSettings variable (see Notes section below for details).
Return value
The return value is not processed.
Notes
Within the unit test, the following variables and properties are available:
If the module doesn't have settings, moduleSettings will have a value of undefined.
1.1
this.settings
Variant
The settings associated with the Test.ASYNCH( ) that initiated the current asynchronous test session.
Same as testSettings below.
1.0
testSettings
Variant
The settings associated with the current unit test.
1.0
testName
String
The name of the current unit test.
1.0
testMode
Object
An object describing the mode in which the test is being run – for more information see Test API - Dev Notes.
1.0
Example
var data = {bar: "fish"};
Test("Foo", Test.ANY( ), function() {
comment( "My first unit test!" );
// in here, 'data' is undefined as the function is re-scoped
// to the unit test instance it's running within
equal( "fish", data.bar, "testSettings.bar == 'fish'?" ); // fail
equal( "fish", testSettings.bar, "testSettings.bar == 'fish'?" ); // pass
}, data);
// if you wanted to access the settings via a custom named variable,
// specify it's name as the first parameter to the unit test function...
Test("Foo2", Test.ANY( ), function(data) {
comment( "My second unit test!" );
// now you can access testSettings via 'data' parameter
equal( "fish", data.bar, "data.bar == 'fish'" ); // pass
// testSettings will still be defined...
equal( "fish", testSettings.bar, "testSettings.bar == 'fish'" ); // pass
}, data);
similarTo( ) — A deep similarity checking assertion...
notSimilarTo( ) — A deep dissimilarity spotting assertion...
Test Signals — Signals 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...