2

T-SQLで関数をモック/スパイすることは可能ですか? 私はそれについて言及するものを見つけることができませんでした。SpyProcedure をガイドラインとして使用して独自の実装を作成することを考えていました (実装が存在しない場合)。誰でもこれで成功しましたか?

ありがとう。

4

1 に答える 1

4

SQL Server 関数では、副作用を持つことはできません。つまり、テストでは、内部関数を固定結果を返す on に置き換えることができますが、過去のパラメーターを関数に記録する方法はありません。

例外が 1 つあります。関数が文字列を返し、文字列が特定の形式に従う必要がない場合は、渡されたパラメーターを連結し、後で返される値にすべて正しい値が含まれていることをアサートできますが、は非常に特殊なケースであり、一般的にはあり得ません。

関数を偽造するには、元の関数を削除するか名前を変更して、テスト内で独自の関数を作成します。このコードはおそらく複数のテストから呼び出されるため、ヘルパー関数に入れます。

于 2013-01-13T21:55:29.187 に答える