每当我使用ExpectException时,我收到以下错误:(还有一个ROLLBACK错误 - >当前事务无法提交,无法回滚到保存点.回滚整个事务.{Private_RunTest,140})
看来,由于RAISERROR,MSSQL已经执行了ROLLBACK,因此tSQLt正在尝试ROLLBACK.我裹着Private_RunTest下面的SELECT和SET语句与以下IF语句和它似乎解决问题.
IF ISNULL(@ExpectException,0) <> 1
BEGIN
SELECT @Msg = COALESCE(@Msg, '') + ' (There was also a ROLLBACK ERROR --> ' +
COALESCE(ERROR_MESSAGE(), '') + '{' +
COALESCE(ERROR_PROCEDURE(), '') + ',' +
COALESCE(CAST(ERROR_LINE() AS NVARCHAR), '') + '})';
SET @Result = 'Error';
END
Run Code Online (Sandbox Code Playgroud)
这真的是一个错误和/或一个适当的修复?