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([settingsRefdataRef]) { // code and assertions } |
Parameters
Parameter | Type | Mandatory | Notes | API Version |
---|---|---|---|---|
settingsRefdataRef | Variant | You can use the first formal parameter of the function to get a custom-named reference to the settings testData associated with the unit test. Note: The test settings will always be available via the testSettings testData variable (see Notes section below for details). | 1.0 |
Return value
The return value is not processed.
Notes
Within the unit test, the following variables and properties are available:
Property / Variable | Type | Notes | API Version |
---|---|---|---|
_global | Object | A reference to the global object (not scope). The _global var was added to allow Test API to run independently of Util API. If you don't have Util API installed, you can use _global to get the same effect as global. | 1.0 |
modulePath | String | The modulePath that the test is running in – see Test.module() for more information. | 1.1 |
moduleSettingsmoduleData | Object Undefined | The settings data associated with the modulePath, if specified in the Module Lifecycle Object. If the module doesn't have settingsany data, moduleSettings moduleData will have a value of | 1.1 |
this.settingsdata | Variant | For tests of mode Test.APPEND( ) this will be the settings testData for the Test.ASYNCH( ) that initiated the current asynchronous test session. For all other test modes, it will be the settings testData for the current test – same value as testSettings testData variable below... | 1.0 |
testSettingstestData | Variant | The settingsdata associated with the current unit test, if applicable. Will have a value of | 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 |
currentTest | Object | A reference to the context of the current test, useful for .call and .apply, etc. | 1.0 |
Example
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
// Define some test data for our unit test var data = {bar: "fish"}; // The test data is passed in as 3rd parameter of the Test() function // and is accessible via the testData variable Test("Foo", Test.ANY( ), function() { comment( "My first unit test!" ); // inIn here, 'data' is undefined as the function is re-scoped // to the unit test instance it's running within equal( "fish", data.bar, "data.bar == 'fish'?" ); // error: data not defined equal( "fish", testSettingstestData.bar, "testSettingstestData.bar == 'fish'?" ); // pass }, data); // <-- test data passed in here // ifIf you wanted to access the settingstestData via a custom named variable, // specify it's name as the first parameter to the unit test function... Test("Foo2", Test.ANY( ), function(data) { // <-- custom reference to testData comment( "My second unit test!" ); // nowNow you can access testSettingstestData via 'data' parameter equal( "fish", data.bar, "data.bar == 'fish'" ); // pass // testSettingsNote that testData variable will still be defined... equal( "fish", testSettingstestData.bar, "testSettingstestData.bar == 'fish'" ); // pass }, data); |
Div | ||||||
---|---|---|---|---|---|---|
| ||||||
Availability
Requires:
|
Div | ||||
---|---|---|---|---|
| ||||
ContentsJump to:
|
Div | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Test APITopics:
|