【发布时间】:2016-06-08 17:38:38
【问题描述】:
我有一个调用存储过程的测试。我希望存储过程拒绝提供的输入,并带有 raiserror。 我的 tSQLt 测试的相关部分是:
EXEC tSQLt.ExpectException @ExpectedMessagePattern = '%more than one 子类别%';
EXEC usp_add_rfx_rfx 很多,的,参数,在这里
tSQLt 的测试结果取决于 usp_add_rfx_rfx sp 中 raiserror 的严重性。
如果严重性为 12 或更高,则测试失败并显示以下消息:
[test_RFX_configuration].[test_multiple_categories_and_lots] 失败: (错误)EXECUTE 后的事务计数指示数字不匹配 BEGIN 和 COMMIT 语句。先前计数 = 1,当前计数 = 0.[16,2]{test_multiple_categories_and_lots,0}(还有一个 ROLLBACK ERROR --> ROLLBACK TRANSACTION 请求没有 相应的 BEGIN TRANSACTION.{Private_RunTest,149})
如果严重性较小,则测试失败如下:
[test_RFX_configuration].[test_multiple_categories_and_lots] 失败: (失败)预期会引发错误。
我已经用谷歌搜索了这个问题并尝试了一些我发现的东西 - 使用 TRY-CATCH 等,但没有任何乐趣。有什么想法吗?
【问题讨论】:
标签: sql sql-server-2008 tsqlt