我目前正在研究TST (SQL自动化测试工具),它将方便数据库回归测试。我已经创建了一个基本的测试用例,如下所示:
/*
Verification of stored proc - FOH_Status
Returns online availabity status for specified date
*/
/****** Object: StoredProcedure [dbo].[SQLTest_Status] Script Date: 11/23/2011 16:56:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE dbo.SQLTest_Status
AS
BEGIN
---CREATE A TEMP TABLE
CREATE TABLE #ControlValue (
ControlMode TINYINT
)
INSERT INTO #ControlValue EXEC dbo.Status 17254, 3 ,'2011-11-20 00:00:00'
DECLARE @CONTROL TINYINT
SET @CONTROL = (SELECT TOP 1* FROM #ControlValue)
EXEC TST.Assert.Equals 'ControlMode enabled for specified date', 1, @CONTRO
END
GO 然后,我继续链接到我们的QA SQL server,这是成功的。然后修改存储过程以调用QA SQL服务器上的存储过程:
INSERT INTO #ControlValue EXEC [X.X.X.X].databasename.dbo.Status 17254, 3 ,'2011-11-20 00:00:00' 在从TST运行测试时,runner将使用DTC事务失败消息失败:
OLE DB提供程序"SQLNCLI10“用于链接服务器”X.X“返回消息”事务管理器已禁用其对远程/网络事务的支持“。 错误: 7391,操作无法执行,因为OLE DB提供程序"SQLNCLI10“用于链接服务器”X.X“无法开始分布式事务。
我已经确认MS将允许在QA SQL服务器上进行远程连接、入站和出站调用。
此外,在查询窗口中运行存储过程并返回正确的结果集。
EXEC [X.X.X.X].databasename.dbo.Status 17254, 3 ,'2011-11-20 00:00:00' 对于如何纠正这一问题,有什么想法吗?
我是否应该修改查询以包含事务,因为返回的错误包括‘无法开始分布式事务’
发布于 2011-11-25 23:45:47
你试过用Server 2008中链接服务器的分布式事务问题描述的每一步吗?
发布于 2011-11-27 01:02:33
我感兴趣的是,您正在使用Server单元测试框架。在release,我们正在对这些工具的使用进行一些研究,我们希望能够很快在SSMS中发布一个图形化的单元测试运行程序。见www.sql-test.com。这个工具构建在tSQLt开源框架上。这是你遇到的吗?
您是否有兴趣通过对您的单元测试需求提供反馈来帮助我们?
https://stackoverflow.com/questions/8272213
复制相似问题