Asserts that stub object was called at list once within the current unit test execution. Fails if stub object were not called during current unit test execution.
Arguments
-
v_PretendObjectName – Name of the pretend object. Supports four part object name. SYSNAME data type.
-
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.
Examples
SQL Server
/*Create inner procedure that will be called within outer scope*/
CREATE PROC AddNewUser
@UserName VARCHAR(50),
@UserRole VARCHAR(50)
AS
BEGIN
--Do something
PRINT @UserName
PRINT @UserRole
END
GO
/*create unit test procedure*/
CREATE PROCEDURE UT_USERTESTS_STUB_AddNewUserD
AS
BEGIN
--make sure that this test is the part of the USERTESTS suite
EXEC DBTD_UNIT_TEST 'USERTESTS'
--create stub
EXEC DBTD_CREATE_STUB_PROCEDURE 'STUB_AddNewUser'
,'AddNewUser
',
NULL
--call it
EXEC STUB_AddNewUser
'John'
,'Level 1
'
EXEC STUB_AddNewUser
'Steve'
,'Level 2
'
EXEC STUB_AddNewUser
'Martha'
,'Level 3
'
--assert that inner procedure were called
EXEC DBTD_ASSERT_STUB_CALLED
@v_PrependObjectName = 'STUB_AddNewUser',
@v_UserMessage = 'We have issues'
END
GO
--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
BEGIN TRAN
EXEC UT_USERTESTS_STUB_AddNewUserD
ROLLBACK
GO
See Also