Как создать хранимую процедуру в TSQLT Set? - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь добавить новый TSQLT в решение .NET.Некоторые тесты, которые я реализовал, используют один и тот же код, и поэтому я хотел бы создать хранимую процедуру и вызывать ее из тестов.Но по ряду причин я вижу только ошибки при вставке работающего в SQL Management Studio кода в тестовый файл .sql.

Я пытался поместить код создания процедуры в SetUp TSQLT, но по некоторым причинам я вижу, что он не принимается бегуном.

Должно ли мое имя файла .sql быть также в формате classname.SetUp или имя процедуры должно быть только в таком формате?

Спасибо!

1 Ответ

0 голосов
/ 18 декабря 2018

Чтобы на самом деле использовать функцию SetUp tSQLt, вам нужно только добавить хранимую процедуру с именем SetUp в тестовый класс (или схему в терминах SQL Server).

Например, если у вас есть тестовый класс с именем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 изатем возобновит выполнение реальных тестов.

...