【问题标题】:How to create a stored procedure in TSQLT Set up?如何在 TSQLT 中创建存储过程设置?
【发布时间】:2018-12-18 09:19:07
【问题描述】:

我尝试在 .NET 解决方案中添加新的 TSQLT。我实现的一些测试使用相同的代码,这就是为什么我想创建一个存储过程并从测试中调用它。但由于某些原因,在测试 .sql 文件中插入 SQL 管理工作室代码时,我只看到错误。

我尝试将过程创建代码放在 TSQLT 的 SetUp 中,但由于某些原因,我看到它没有被 runner 拾取。

我的 .sql 文件名也应该采用 classname.SetUp 格式还是过程名称应该只采用这种格式?

谢谢!

【问题讨论】:

    标签: c# tsqlt


    【解决方案1】:

    要实际使用 tSQLt 的 SetUp 功能,您只需在测试类(或 SQL Server 术语中的架构)中添加一个名为 SetUp 的存储过程。

    例如,如果您有一个名为 testMergingCountryFromStaging 的测试类,那么您可以创建一个 SetUp 存储过程,如下所示:

    CREATE PROCEDURE testMergingCountryFromStaging.SetUp
    AS
    BEGIN
    SET NOCOUNT ON;
    
    -- Now fake the actual tables and
    -- only those fields that are actually necessary
    -- for stored procedure validation.
    EXEC tSQLt.FakeTable @TableName = N'Country', @SchemaName = N'dbo';
    EXEC tSQLt.FakeTable @TableName = N'Country', @SchemaName = N'staging';
    
    -- Initialize expected result and actual table
    CREATE TABLE expected(CountryName VARCHAR(50) NOT NULL, ActiveForDelivery BIT NOT NULL);
    END;
    GO
    

    然后,当通过执行EXEC tSQLt.Run 'testMergingCountryFromStaging';运行该类的单元测试时,SetUp存储过程将首先由tSQLt执行,然后继续执行实际测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多