Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以使用 T-SQL 模拟/监视函数?我找不到任何提及它的东西。我正在考虑使用 SpyProcedure 作为指导创建自己的实现(如果不存在实现)。有人在这方面取得过成功吗?
谢谢。
在 SQL Server 中,函数不能有副作用。这意味着,在您的测试中,您可以将内部函数替换为返回固定结果的 on,但无法将过去的参数记录到函数中。
有一个例外:如果函数返回一个字符串并且该字符串不必遵循特定格式,您可以连接传入的参数,然后稍后断言返回的值包含所有正确的值,但是是一个非常特殊的情况,通常不可能。
要伪造一个函数,只需删除或重命名原始函数并在测试中创建自己的函数。我会将这段代码放入一个辅助函数中,因为它可能会从多个测试中调用。