我尝试在.NET解决方案中添加新的TSQLT。我实施的一些测试使用相同的代码,这就是为什么我想创建一个存储过程并从测试中调用它的原因。但是由于某些原因,在测试.sql文件中的SQL Management Studio代码中插入工作时,我只会看到错误。
我试图将过程创建代码放入TSQLT的SetUp中,但是由于某些原因,我发现它并没有被运行程序接受。
.sql文件名也应采用classname.SetUp
格式还是过程名应仅采用这种格式?
谢谢!
答案 0 :(得分:0)
要真正使用tSQLt的SetUp功能,只需在测试类(或SQL Server术语中的架构)内添加一个称为SetUp的存储过程。
例如,如果您有一个名为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执行,然后将继续执行实际测试。