Asserts that stub object was called specified number of times within the current unit test execution. Fails if stub object were not called specified number of times during current unit test execution.
v_PretendObjectName – Name of the pretend object. Supports four part object name. SYSNAME data type.
v_NumberOfCalls - The number of calls that we expect this pretend object to be called, INT. If NULL value provided then this assert will check that mock object called any number of times.
v_UserMessage – Message to report when assertion fails, NVARCHAR(MAX)
Note: If you are planning to run unit test manually, you must use DBTD_UNIT_TEST hint procedure to explicitly define a unit test procedure as the unit test.
/*Create inner procedure that will be called within outer scope*/
CREATE PROC AddNewUser
/*create unit test procedure*/
CREATE PROCEDURE UT_USERTESTS_STUB_AddNewUser
--make sure that this test is the part of the USERTESTS suite
EXEC DBTD_UNIT_TEST 'USERTESTS'
EXEC DBTD_CREATE_STUB_PROCEDURE 'STUB_AddNewUser',
--assert that inner procedure were called
--and that it happened exactly 3 times
@v_PrependObjectName = 'STUB_AddNewUser',
@v_NumberOfCalls = 3,
@v_UserMessage = 'We have issues'
--run just one unit test alone to verify results
--note that we will explicitly use transactions
--because we run unit test outside of the DBTestDriven framework