私はtSQLtを使っています(Red GateのSQL Testバージョン1.0.0.455で)。 tSQLtは、私はデータベースAの同義語を通じて同じSQL Serverインスタンス上のデータベースBのテーブルの上にtSQLt.FakeTableを実行しようとしていたデータベースAにインストールされている同義語テーブルをFakeTableにしようとするとtSQLtが失敗する
コード:
ALTER PROCEDURE [ 。
ExecのtSQLt.FakeTable 'dbo.Bygning' BEGINAS ErrorType109NonTankHasSizeOrVolume] [テストAliasTest];
dbo.Bygning(ObjStatus)値(1)に挿入します。
EXEC tSQLt.AssertEquals 1、1
END;dbo.Bygning
データベースB及びObjStatus
のテーブルを参照し、データベースAの同義語である
dbo.Bygning
エラーメッセージにカラムれる:
Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 0, current count = 1.
Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 0, current count = 1.
Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 0, current count = 1.
[ErrorType109NonTankHasSizeOrVolume].[test AliasTest] failed: An invalid parameter or option was specified for procedure 'sp_addextendedproperty'.{sp_addextendedproperty,37}
はtSQLt.FakeTableする方法はあります同義語テーブル?
説明: テストを実行中にエラーメッセージが表示されます。
「EXEC tSQLt.AsserEquals 1,1」は、コードサンプルに含める必要はありませんでした。その行には決して到達しません(失敗は前に起こります)。 – steenhulthin
同じセッションの直前に他のSQL文を実行していましたか? – mellamokb
いいえ、Management Studioを開いた後で唯一のテストとして実行します。 – steenhulthin