是否有一种基于sql存储过程自动化/生成模拟或存根的简单方法?
我想要讨论的情况是,在开发过程中对某个proc进行了更改,即有人添加了一个必需的输入参数,然后我希望未使用所需参数更新的测试失败。
答案 0 :(得分:1)
虽然自动化程度较低,但另一种方法是创建一个脚本,其中包含您感兴趣的存储过程的一组执行语句。通过运行这些脚本,您可以捕获那些在更改参数时失败的脚本。您还可以编写MS SQL
中的exec存储过程位例如
exec [DATABASE].dbo.[StoredProc] parameter1, parameter 2
这不会提供任何验证结果的机制。对于更全面的方法,您可以将这个示例放在Simple-Talk新闻稿中,该新闻稿使用c#和NUnit构建测试工具。
答案 1 :(得分:0)
一种解决方案是编写测试以验证存储过程接受的参数数量。这将是一个集成类型测试,而不是纯单元测试,但它可以解决您的问题。
答案 2 :(得分:0)
通过检查INFORMATION_SCHEMA.PARAMETERS
,您可以生成调用存储过程(可能带有虚拟变量)的测试如果在这样的测试存储过程中运行sp_recompile,则由于参数数量不正确而无法编译。