TSQLT 单元测试 - 数据类型 text 和 text 在等于运算符中不兼容

JDP*_*ham 3 t-sql tdd sql-server-2008-r2 tsqlt

我从 AssertEqualsTable 收到此错误“数据类型文本和文本在等于运算符中不兼容。”

然后

“‘TableCompare’过程试图返回 NULL 状态,这是不允许的。将返回 0 状态。”

select   *
    into #Actual
    from [dbo].[InvoiceOut];

--make expected table an empty table of #actual's structure because we truncate so it should be empty.
    SELECT TOP(0) *
    INTO #Expected
    FROM #Actual;

EXEC tSQLt.AssertEqualsTable '#Expected', '#Actual';
Run Code Online (Sandbox Code Playgroud)

--部分相关表信息

CREATE TABLE [dbo].[InvoiceOut](
...
    [InsertField] [text] NULL,
    [DeductibleText] [text] NULL,
    [BarcodeText] [text] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

Bet*_*eth 5

我认为您无法比较文本字段值,这可以解释该错误。

此外,文本数据类型已被弃用,取而代之的是 varchar(MAX)。

看到这个