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.

 

Syntax

REQUIRE( requirement );

Parameters

ParameterTypeMandatoryNotesAPI Version
requirementString(tick)

The requirement to check – see requirement types below for more details.

If the requirement is not met, a signal will be sent to abort the current test.

1.0

Requirement types

requirementNotesAPI Version
"testName"

Checks a specific test, specified by it's name, to see if it passed.

Example: REQUIRE( "My Tests" );

If the test is not yet defined, not started, still in progress or failed, the requirement will fail.

1.0
"^"

Checks the previous test in the queue to see if it passed.

Example: REQUIRE( "^" );

Note: Test.APPEND( ) tests don't get queued.

If the test is still in progress or failed, the requirement will fail.

1.1
"@"

Checks to see if all tests (that have been performed) in the current module have passed so far.

Example: REQUIRE( "@" );

If any of the tests in the module have failed, the requirement will fail.

1.1
"@^"

Checks to see if all tests in the previous module have passed.

Example: REQUIRE( "@^" );

Note: The previous module is the last module to be defined before the current module was defined.

If any of the tests in the module failed, the requirement will fail.

1.1
"@module/path/"

Specify a module path, prefixed by "@", to check if all tests (if any) in modules starting with that path have passed.

Example: REQUIRE( "@Tests/" ); would check if all tests in all modules starting with "Tests/" have passed.

If any test in the matching modules failed, the requirement will fail.

1.1
"*"

Check if all invoked tests have passed so far.

Example: REQUIRE( "*" );

Note: Unless you know exactly which test scripts have run prior to the script containing your tests, using this could give unexpected results. For example, the script that tests the Test API generates some failures by design (to check that tests fail where expected).

If one or more tests have failed, the requirement will fail.

1.1

Return values

ValueTypeNotesAPI Version
<error>ErrorMost likely the parameters are wrong.1.0
<signal>RequireSignal

Forces the current unit test to abort, marking it as failed in the process.

(warning) Do not catch the RequireSignal otherwise it will have no effect. 

1.0
trueBooleanThe specified requirement was met.1.0

Example

Test("Chat() defined", Test.EXPECT( 1 ), function() {
	if (!hasNative( "chat", "chat() defined" )) {
		ABORT( "Unable to test chat system" );
	}
})
 
Test("Send a chat message", Test.ANY( ), function() {
	REQUIRE( "Chat() defined" ); // will abort if that test failed
 
	// do further testing of chat() here
});

REQUIRE( ) is not related to Dependency Checking.

Availability

Requires:

Contents

Jump to:

Test API

Topics: