我正在我的数据库项目中构建单元测试。我有一个存储过程,我正在构建测试,用于SSIS包中的脚本任务。结果集映射到其中一个包变量。
我不确定如何在单元测试脚本中找到变量结果?
这是存储过程。这是我想捕获的AppInstanceID
:
Create Procedure [log].LogStartOfApplication
@ApplicationName varchar(255)
As
declare @ErrMsg varchar(255)
declare @AppID int = (Select ApplicationID From cfg.Applications Where ApplicationName = @ApplicationName)
If (@AppID Is Null)
begin
set @ErrMsg = 'Cannot find ApplicationName ' + Coalesce(@ApplicationName, '<NULL>')
raiserror(@ErrMsg,16,1)
return-1
end
Insert Into [log].SSISAppInstance
(ApplicationID, StartDateTime, Status)
Output inserted.AppInstanceID
Values
(@AppID, GetDate(), 'Running')
这是我的单元测试脚本:
-- database unit test for log.LogStartOfApplication
DECLARE @RC AS INT, @ApplicationName AS VARCHAR (255);
SELECT @RC = 0,
@ApplicationName = 'Unit Test Application';
EXECUTE @RC = [log].[LogStartOfApplication] @ApplicationName;
SELECT @RC AS RC;
我认为该值将返回到@RC
变量,但当然不是。有没有办法在我的@RC
变量中捕获结果集?