使用TSQLUNIT进行SQL单元测试:don';您不需要复制SQL代码吗?
我正在考虑为我的Tsql存储过程编写一些单元测试,我有两个顾虑:使用TSQLUNIT进行SQL单元测试:don';您不需要复制SQL代码吗?,sql,sql-server,unit-testing,tsql,Sql,Sql Server,Unit Testing,Tsql,我正在考虑为我的Tsql存储过程编写一些单元测试,我有两个顾虑: 我将不得不编写大量SQL来创建测试装置(在设置过程中准备的测试数据) 我必须在测试过程中“重写”我的查询,以获得与我正在测试的存储过程的结果进行比较的结果 考虑到我的数据库有数百个表和非常复杂的存储过程。。。我不知道这怎么能节省我的时间??有什么想法吗?我错过什么了吗?还有其他方法吗?理论上,单元测试(通常)意味着有更多的时间提前编写测试,但应该会让您以后的工作更轻松。例如,当您能够非常容易地发现回归错误时,投入的时间会在以后产生
但是,是的,听起来这将花费大量的设置时间-我可以想象,准备SQL存储过程测试将需要比一般的.Net对象测试进行更多的设置。我想知道的是,为什么要考虑编写单元测试?数据库是否存在操作问题?实施变革难吗?管理层是否让你的加薪依赖于单元测试 如果没有明确的原因,我不会从“为了好玩”的单元测试开始。当有一个完善的变更系统时,单元测试增加了开销,但没有任何价值 单元测试也存在严重风险:
很抱歉这样的咆哮(我在单元测试方面的经验不好。)自动化单元测试经常被搁置一旁,因为经理们推动快速发布,而不是增加项目范围和预算以强调稳定性。事实上,单元测试需要时间。根据我的经验,好处远远大于缺点。在外部系统调用存储过程的情况下,单元测试在消除不可预见的问题和保证集成测试之前的稳定性方面是非常宝贵的 关于你的关切:
/…
对任何附加测试重复步骤2至7
…/
BillTSQLUnit执行自动隐式事务启动和回滚,这样您就不必每次都清理您的混乱。供参考