tSQLt测试失败,并显示“找不到存储过程'tSQLt.NewTestClass'”错误

时间:2018-06-27 21:21:15

标签: sql sql-server visual-studio tsql tsqlt

我正在尝试在tSQLt中编写最简单的测试,但出现了我似乎无法修复的错误。

这是我的测试。

EXEC tSQLt.NewTestClass @ClassName = 'LeadTimeTests';
GO

CREATE PROCEDURE LeadTimeTests.[test Assert equal data is equal]
AS
BEGIN
    DECLARE @actual DATETIME;
    SET @actual = '2004-06-30 23:59:59:998';

    DECLARE @expected DATETIME;
    SET @expected = '2004-06-30 23:59:59:998';
    EXEC tSQLt.AssertEquals @expected, @actual;
END;
GO

我收到此错误:

Could not find stored procedure 'tSQLt.NewTestClass'.

在“测试资源管理器”窗口中,测试失败,并显示以下消息:

failure.message: The test class "LeadTimeTests" or 
test name "test Assert equal data is equal" 
could not be found or does not have the tSQLt test schema extended property

我只是无法找到解决办法。

在此先感谢您提供的帮助。

2 个答案:

答案 0 :(得分:1)

您需要安装tSQLt脚本。参见步骤2

https://tsqlt.org/user-guide/quick-start/#InstallToDevDb

答案 1 :(得分:0)

测试是否在具有tSQLt测试类扩展属性的架构中?

您需要创建一个基本上是测试类的架构:

CREATE SCHEMA [thingy_a_bob]
 go
 EXECUTE sp_addextendedproperty
 @name = N’tSQLt.TestClass’
, @value = 1
 , @level0type = N’SCHEMA’
, @level0name = N’thingy_a_bob’;

请参阅此博客文章:https://the.agilesql.club/2015/09/why-is-my-tsqlt-test-not-running/