我正在我的数据库项目中构建单元测试。我有一个存储过程,我正在为其构建测试,用于 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
变量中捕获结果集?