Как создать хранимую процедуру в настройке TSQLT?

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

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

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

Спасибо!


person Anastasiya Mazheika    schedule 18.12.2018    source источник


Ответы (1)


Чтобы фактически использовать возможности 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, а затем возобновится с выполнением реальных тестов.

person S.Karras    schedule 18.12.2018