TSQLT unit test - The data types text and text are incompatible in the equal to operator

StackOverflow https://stackoverflow.com/questions/12285130

Вопрос

I am getting this error from AssertEqualsTable "The data types text and text are incompatible in the equal to operator."

then

"The 'TableCompare' procedure attempted to return a status of NULL, which is not allowed. A status of 0 will be returned instead."

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';

--part of the relevant table info

CREATE TABLE [dbo].[InvoiceOut](
...
    [InsertField] [text] NULL,
    [DeductibleText] [text] NULL,
    [BarcodeText] [text] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Это было полезно?

Решение

I don't think you can compare text field values, which would explain the error.

Also, the text data type is deprecated in favor of varchar(MAX).

See this

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top