Defines the mode in which a unit test is run...

 

Overview

When defining a Unit Tests with Test(), a "test mode" is required to define the way in which the test will be processed.

There are currently 4 modes available:

ModeNotesAPI Version
Test.ANY()

A basic test test which will pass if none of it's assertions fail and no test-failing Test Signals are triggered.

1.0
Test.EXPECT()The same as Test.ANY( ) but requires a specific number of results to be logged before allowing a test to pass.1.0
Test.ASYNCH()

A asynchronous test that can have results added to it by subsequent Test.APPEND( ) tests. The test will remain active until it either fails, passes or times-out. Very useful for testing non-sequential events.

1.0
Test.APPEND()Appends results to a specific Test.ASYNCH( ) if that test is currently active.1.0

Synchronous vs. Asynchronous

Each test runs in a test session. Only one session can be running at any given time.

The Test.ANY( ) and Test.EXPECT( ) modes are synchronous – the state of the test will always be determined at the end of the unit test. Essentially, each test with these modes has it's own session in which it is the only test that will run.

The Test.ASYNCH( ) mode, however, can be either synchronous or asynchronous:

  • If the test passes or fails, it will act like a Test.ANY( ) or Test.EXPECT( ).
  • If the test state has not been determined at the end of the test, an asynchronous session will start, allowing subsequent Test.APPEND( ) mode tests to add more results to the test.

Asynchronous tests are useful for testing events, where there will be a gap between starting the test and the subsequent results being obtained. For more information on asynchronous testing, see Test.ASYNCH( ).

Availability

Requires:

Test API

Topics: