我有条件执行嵌套存储过程的存储过程。
在单元测试中,我需要检查是否已执行此嵌套存储过程。
我试过了tSQLt.SpyProcedure
,但似乎并没有按我想要的方式工作。
我的单元测试内容
-- Assembly
exec tSQLt.SpyProcedure 'procedureName', 'raiserror(''procedureName was fired'',16,1)'
-- Assert
exec tSQLt.ExpectException 'procedureName was fired'
-- Action
exec masterProcedureName -- triggers procedureName
但tsqlt.run 'unitestName'
返回
失败:(失败)预计会引发错误。
你有什么想法吗?
答案 0 :(得分:0)
道歉,下面的代码确实有效,我在其他地方犯了错误。
答案 1 :(得分:0)
虽然如你所说,你的方法有效,但我建议你使用..._spyprocedurelog
表。它允许您捕获多次执行以及每次传递的参数。如果您在某个时候将错误处理添加到外部过程,这仍然有效。
查看SpyProcedure documentation中的示例。