我已经开始使用 tSQLt 并且即将测试触发器。我调用 FakeTable 过程并进行测试,但未执行触发器。如果不使用 FakeTable,则执行触发器。这似乎真的很糟糕,我找不到任何信息表明有任何方法可以读取它们。
然后我认为触发器已被 FakeTable 删除,但我可以在调用后重新创建它们并在我的测试中执行以下代码:
DECLARE @createTrigger NVARCHAR(MAX);
SELECT @createTrigger = OBJECT_DEFINITION(OBJECT_ID('MoveDataFromAToB'))
EXEC tSQLt.FakeTable 'dbo.A';
EXEC(@createTrigger);
我收到以下错误:“数据库中已经有一个名为'MoveDataFromAToB'的对象。{MoveDataFromAToB,14}(还有一个回滚错误->当前事务无法提交,也无法回滚到保存点。回滚整个事务。{Private_RunTest,60})"
任何对 tSQLt 有任何经验并知道此问题的任何解决方法的人吗?