タグ付けされた質問 「unit-test」

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

4
接続ごとの一時的なスキーマ?
単体テストをH2からPostgresqlに移行しようとしています。 現在、H2は、各接続が一意のスキーマにマップされ、テーブルが作成され、テストが実行され、スキーマが削除されるように、メモリ内スキーマを提供します。スキーマの作成と破棄は、H2によって自動的に処理されます。 単体テストは同時に実行されます。 Postgresqlでこれを行う最良の方法は何ですか?具体的には 接続ごとに一意のスキーマを取得するにはどうすればよいですか? テストフレームワークは一意の名前を生成する必要がありますか、またはこれを行うための組み込みメカニズムはありますか? 接続がドロップされたときにスキーマが確実にドロップされるようにするにはどうすればよいですか? 単体テストが終了したときにスキーマがぶら下がってしまいたくありません。 どのようなアプローチで最高のパフォーマンスが得られますか? 1秒あたり数十のスキーマを作成/ドロップする必要があります。 更新:ここで関連する回答を見つけましたが、単体テストを実行しているプロセスが強制終了された場合にスキーマを削除できません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.