私は、今後のプロジェクトでテストをどのように実行する必要があるかを調査するタスクを割り当てられています。
現在、SQL ステートメントの構造化テストを行う必要があるかどうかを判断しようとしています。「get」ステートメントのテスト スイートを用意して、正しいデータが返されることを確認することをお勧めしますが、insert、delete、update をテストしない方がよいという結論に達しました。 DB で選択し、一部の依存関係が欠落している場合、外部キーの例外がスローされます。
今、私はDBunit
これらのテストを実行するために使用するためにチェックアウトしていますが、いくつかの懸念があります。
1.上記のようなテストを実行することは可能ですか? それとも、これらのテストを作成し、テスト データを挿入するのに時間をかける価値はありませんか? おそらく、開発者にこのアドホックをテストさせるだけで十分でしょうか?
2.各テストの適切なテスト データを決定するには時間がかかるようです。テスト データは、DBunit が必要とする flat-xml-file に手動で挿入する必要があります (DBunit によって期待されるデータが生成されるようにする場合、そのデータをフェッチする SQL に依存します)。これは事実ですか?
3. SQL ステートメントを検証するためにデータベース テストを実行するための、より適切で簡単な方法はありますか?
プロジェクトは、Hibernate、Java、および MS SQL Server を使用します。