代码之家  ›  专栏  ›  技术社区  ›  ben

使用单元测试项目进行CLR-SQL存储过程测试

  •  9
  • ben  · 技术社区  · 15 年前

    我正在使用

    • Visual Studio 2008
    • MS测试

    我的要求是:

    1. 有一堆单元测试来测试存储过程

    有人知道如何让单元测试项目将存储过程正确地部署到服务器上,连接到sql server,并允许我逐步完成对服务器上存储过程的单元测试吗?

    ****更新****

    Mark Seemann's

    pho3nix 如下所示。但是,使用这种标准方法,您需要使用“test.sql”文件编写测试脚本,而不是使用VisualStudio中的单元测试项目。

    我希望我的解决方案中可以有两个项目,一个用于CLR存储过程,另一个用于单元测试项目。当我想在单元测试项目中运行测试时,我希望对CLR存储过程项目所做的所有更改都将发布到服务器,测试项目将开始执行,如果我在CLR存储过程中设置了一个断点,当单元测试开始测试该存储过程时,它将在服务器上中断,然后我就可以逐步完成代码。

    Alex Kuznetsov and Alex Styler

    ****更新2****

    这是一个更大的'颠簸',使这个问题回来…我仍然没有运气走到SQL服务器从单元测试。还有其他想法吗?

    3 回复  |  直到 7 年前
        1
  •  2
  •   mfawzymkh    15 年前

    在调试代码之前,必须对连接启用SQL/CLR调试。 为此,请按照此处的说明进行操作 http://msdn.microsoft.com/en-us/library/ms165039(VS.80).aspx

    请注意,在调试C#SP时,SQL server中的所有托管线程都将在调试期间挂起

    希望这有帮助。

        2
  •  2
  •   pedrofernandes    15 年前

    创建项目时,我有一个带有数据库的treeview节点和一个名为sqlserverproject的项。

    alt text http://img514.imageshack.us/img514/8523/81345560.jpg

    接下来,当创建项目模板时,我会得到测试脚本(Test.sql),在这里我可以使用公共sql过程和命令测试所有SQLServerCLR类。

    alt text http://img17.imageshack.us/img17/7826/38591345.jpg

    有了它,您就可以拥有一个带有debug的CLR开发接口。Test.sql类似于CLR类的单元类。

    另外,不要忘记SQL Server配置中的活动CLR。

        3
  •  1
  •   Mark Seemann    15 年前

    wrote pretty extensively on this subject 不久前。我总是以TDD的方式实现我的数据访问组件。请看链接中的文章—文章本身可能无法为您提供最佳概述,但您也可以下载示例代码并在空闲时检查它。

    我认为它符合你的所有要求。