【问题标题】:tSQLt tests failing with "could not find stored procedure 'tSQLt.NewTestClass' " errortSQLt 测试失败,出现“找不到存储过程 'tSQLt.NewTestClass'”错误
【发布时间】:2018-12-06 20:52:43
【问题描述】:

我正在尝试在 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

我只是找不到解决此问题的方法。

提前感谢您提供的任何帮助。

【问题讨论】:

  • 你能执行这个EXEC sp_configure'clr enabled',1; RECONFIGURE;吗?结果如何?
  • 它说“配置选项 'clr enabled' 从 1 更改为 1。”

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    测试是否在具有 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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      相关资源
      最近更新 更多