2

是否可以使用 T-SQL 模拟/监视函数?我找不到任何提及它的东西。我正在考虑使用 SpyProcedure 作为指导创建自己的实现(如果不存在实现)。有人在这方面取得过成功吗?

谢谢。

4

1 回答 1

4

在 SQL Server 中,函数不能有副作用。这意味着,在您的测试中,您可以将内部函数替换为返回固定结果的 on,但无法将过去的参数记录到函数中。

有一个例外:如果函数返回一个字符串并且该字符串不必遵循特定格式,您可以连接传入的参数,然后稍后断言返回的值包含所有正确的值,但是是一个非常特殊的情况,通常不可能。

要伪造一个函数,只需删除或重命名原始函数并在测试中创建自己的函数。我会将这段代码放入一个辅助函数中,因为它可能会从多个测试中调用。

于 2013-01-13T21:55:29.187 回答