重构数据库过程的最佳方法是什么?

时间:2009-07-10 17:20:15

标签: database unit-testing tsql stored-procedures refactoring

我需要理解并澄清一些包含重要业务逻辑的T-SQL存储过程。有没有人知道可以用于单元测试的任何工具,技巧,窍门或提示,所以我可以重构这个sql而不会破坏它?

5 个答案:

答案 0 :(得分:2)

Simon Harriyott建议使用TSqlUnit。有关其流程的更多信息on his blog

答案 1 :(得分:2)

如果您可以访问Visual Studio Team System Database Edition,那么它会附带一组专门针对数据库的单元测试工具,如MSDN article中所述。

答案 2 :(得分:2)

我使用C#进行单元测试存储过程 - 这比T-SQL更有效。第一个链接解释了如何快速生成单元测试。

Close those Loopholes - Testing Stored Procedures

Close These Loopholes - Testing Database Modifications

答案 3 :(得分:2)

有关重构本身的帮助(而不是让它接受测试,以便你可以反驳),不要忘记查看Refactoring Databases(书籍或网站)。

我确实用调用代码编写了存储过程的测试(在我的例子中是带有dbunit的Java),但我不知道它将如何与其他方法进行比较。

答案 4 :(得分:1)

为什么需要重构?

添加一堆PRINT语句并从Management Studio手动运行它。如果您打印正确的信息,您应该能够跟踪代码并了解正在发生的事情。

如果您不知道要使用哪些参数,请修改它以将输入参数发送到日志文件,然后使用它们手动运行。