4
ストアドプロシージャの単体テスト
私はこれをかなり長い間考えてきました。 基本的な質問は、ストアドプロシージャを単体テストする方法ですか? 私は、古典的な意味で関数のユニットテストを比較的簡単に設定できることを知っています(つまり、ゼロ個以上の引数を取得して値を返します)。しかし、行をどこかに挿入し、挿入の前後にいくつかのトリガーを使用して、一見単純な手順の実際の例を考慮すると、「ユニット」の境界を定義することさえ非常に困難です。INSERT自分自身だけをテストする必要がありますか?それはかなり簡単です、私は思う-比較的低い値で。イベントチェーン全体の結果をテストする必要がありますか?これが単体テストであるかどうかという質問とは別に、適切なテストを設計することは、多くの追加の疑問符が途中で発生する非常に骨の折れる仕事です。 そして、常にデータが変化するという問題が生じます。UPDATE数行以上の影響がある場合、影響を受ける可能性のあるすべての行を何らかの方法でテストケースに含める必要があります。DELETEsなどに関するさらなる困難など。 それでは、ストアドプロシージャをどのように単体テストしますか?完全に絶望的な複雑さの限界がありますか?メンテナンスにはどのようなリソースが必要ですか? 編集 AlexKuznetsovの答えに基づくもう1つの小さな質問:または、それが完全に役に立たないという閾値がありますか?