1

データベース プロジェクトで単体テストを作成しています。SSIS パッケージのスクリプト タスクで使用されるテストを作成しているストアド プロシージャがあります。結果セットは、パッケージ変数の 1 つにマップされます。

単体テスト スクリプトでその変数の結果を見つける方法がわかりません。

これがストアド プロシージャです。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結果セットを変数に取り込む方法はありますか?

4

1 に答える 1