【问题标题】:What are people using to unit test their stored procedures ,etc人们用什么来单元测试他们的存储过程等
【发布时间】:2011-04-04 03:18:09
【问题描述】:

只是想弄清楚其他人使用什么来测试他们的数据库过程/查询等。您是否使用新的 Visual Studio 扩展、自定义代码等?我需要一些如何制定一些单元测试,但不太确定我将如何构建测试,以便我们可以轻松地对程序进行回归测试。

【问题讨论】:

    标签: sql-server sql-server-2005 unit-testing sql-server-2008 stored-procedures


    【解决方案1】:

    您有很多选择 - 正如您已经提到的那样 - 但对于真正的单元测试,您总是希望尽可能接近实际的测试单元,以避免让集成问题干扰您的测试。对于数据库对象,这意味着使用 Visual Studio 数据库单元测试项目并编写 SQL 来对数据库对象进行单元测试,或者使用某种基于 SQL 的第 3 方测试框架,例如 DBUnit。

    在某些情况下,您可能希望使用 Linq-to-SQL 比在 SQL 中更简洁/更容易地执行某些数据库单元测试,但除非对于真正的单元测试绝对必要,否则应避免这样做; Linq-to-SQL(和任何其他自定义代码)引入了集成问题和额外的层,因此如果您遇到错误,您首先必须确保它确实是您的数据库中的错误,而不是您的 Linq-to- SQL数据库连接、C#代码(例如)等

    【讨论】:

      【解决方案2】:

      DbFit 取得了很大的成功

      【讨论】:

      • 我们发现 DbFit 非常脆弱 - 重构后更改测试花费了太多时间。
      • @AlexKuznetsov - 这不是我的经验。也许这取决于被测数据库应用程序的类型?
      • 谢谢 Ed 我会去看看 +1
      【解决方案3】:

      TST the T-SQL Test Tool,效果很好,很容易实现。

      【讨论】:

      • 是的,这个东西试过了,没用——开发测试太费时间,不能测试返回两个结果集的程序等等。重构后很难/很难改变它。
      【解决方案4】:

      这是个大问题。我们在 2007 年开发了自己的库,described here。去年秋天我写了关于lessons learned during more than three years of using it

      【讨论】:

        猜你喜欢
        • 2019-02-11
        • 1970-01-01
        • 2011-08-26
        • 2010-11-10
        • 1970-01-01
        • 2016-06-02
        • 1970-01-01
        • 2021-07-03
        • 2017-08-25
        相关资源
        最近更新 更多