Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

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

Code Block
themeRDark
languagejavascript
linenumberstrue
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 the path does not exist or contains at least one failed testany test in the matching modules failed, the requirement will fail.

1.1
"*"

Check if all invoked tests in all modules 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

Code Block
themeRDark
languagejavascript
linenumberstrue
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
});
Div
classbox notice

REQUIRE( ) is not related to Dependency Checking.

Div
classbox
Availability
Status
colourGreen
titleStable

Requires:

Div
classbox
Contents

Jump to:

Table of Contents
maxLevel5

Div
classbox

Test API

Topics:

Child pages (Children Display)
alltrue
depthall
pageTest API
excerpttrue