(info) This AI is still in early stages of development.

Test Modules

A test module groups one or more unit tests and provides additional lifecycle settings for those tests...

 

Overview

When a module is defined, using Test.module(), all subsequent Unit Tests will be grouped in to that module.

Each module must be given a unique name, called a "module path". The path can be anything you want, however it's recommended to use a syntax similar to folder paths. The tests associated with APIs in this wiki use the following format: Tests/filename.ext/group/subgroup

Test.module("Tests/foo.js/Module A");
 
Test(...); // this test and any defined after it will go in Module A
 
Test.mdoule("Tests/foo.js/Module B");
 
Test(...); // this test and any defined after it will go in Module B

When the Test API instantiates, a default module called "Tests/" is created. If you don't define your own modules in your test scripts, they will be placed in the "Tests/" module (or the last module to be defined by prior test scripts).

Module lifecycle settings

Modules can provide additional lifecycle settings for their associated tests, including:

  • Start-up and tear-down functions that will be called before and after each test
  • Data to share between tests (module data)
  • A URL to associate with the tests, for example linking to documentation

For more information on the lifecycle, see Module Lifecycle Object.

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...