Я пытаюсь добавить новый TSQLT в решение .NET. Некоторые тесты, которые я реализовал, используют один и тот же код, и поэтому я хотел бы создать хранимую процедуру и вызывать ее из тестов. Но почему-то я вижу только ошибки при вставке работающего кода студии управления SQL в тестовый файл .sql.
Я попытался поместить код создания процедуры в Настраивать TSQLT, но по некоторым причинам я вижу, что он не улавливается бегуном.
Должно ли мое имя файла .sql быть также в формате classname.SetUp
или имя процедуры должно быть только в таком формате?
Спасибо!
Чтобы на самом деле использовать возможность 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, а затем возобновится с выполнением фактических тестов.