首页 > 解决方案 > 如何使用 ASSERT 对退出代码 IF EXISTS 条件的 SQL Server 存储过程进行单元测试

问题描述

我正在使用 SQL Server 存储过程,并想编写一个单元测试来检查当IF EXISTS条件不满足时它何时退出代码。我可以将记录插入表中并检查记录是否未更新。但不确定如何进行。我正在使用 VS 2019 数据库项目使用 Nunit。任何帮助将不胜感激。

CREATE OR ALTER PROCEDURE [dbo].[GetNames] 
    @NameId VARCHAR(100),
    @Code CHAR
AS
BEGIN
    IF (@Code = 'A')
    BEGIN                   
        IF EXISTS (SELECT * FROM tblnames WHERE Nameid = @NameId)
        BEGIN
            RETURN
        END
    END                    

    IF (@Code = 'X')   -- code      
    BEGIN
        SELECT 'inside begin '  

        UPDATE tablename 
        SET myname = 'abc' 
        WHERE Code = @Code               
    END
END

标签: sql-serverunit-testingnunit

解决方案


推荐阅读