Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Excerpt |
---|
The unit test function, responsible for performing one or more Test Assertions... |
Syntax
Warning | ||
---|---|---|
| ||
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). |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
function([settingsRef]) {
// code and assertions
} |
Parameters
The unit test function has no parameters, but a number of variables and properties are available within it – see Notes below for details.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:
Property / Variable | Type | Test.APPEND( ) mode | Any other mode | API Version |
---|---|---|---|---|
_global | Object | 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 | |
modulePath | String | The modulePath that the test is running in – see Test.module() for more information. | 1.1 | |
moduleSettings | Object Undefined | The settings associated with the modulePath, if specified in the Module Lifecycle Object. If the module doesn't have settings, moduleSettings will have a value of | 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
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
var mySettingsdata = {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'?" ); // }, mySettingspass }, data); // if you wanted to access the settings via a custom named variable, // specify it's name as the first parameter to the 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); |
Div | ||||||
---|---|---|---|---|---|---|
| ||||||
Availability
Requires:
|
Div | ||||
---|---|---|---|---|
| ||||
ContentsJump to:
|
Div | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Test APITopics:
|