私が取り組んでいるJUnitテストケースのセットアップメソッドでは、各テストケースの前にデータベースでSQLスクリプトを実行し、その後ロールバックする必要があります。
各SQLコマンドをバッチに追加して実行するトークナイザーを使用してみました。しかし、私は仕事をすることができません。私の質問は、JUnit にこのアクションを実行するための標準的な方法があるかどうかです。
DbUnitを試すことができます
DbUnit は、データベース駆動型プロジェクトを対象とした JUnit 拡張 (Ant でも使用可能) であり、とりわけ、テスト実行の間にデータベースを既知の状態にします。これは、1 つのテスト ケースがデータベースを破損し、その後のテストが失敗したり、損傷を悪化させたりする場合に発生する可能性のある無数の問題を回避するための優れた方法です。
DbUnit には、データベース データを XML データセットとの間でエクスポートおよびインポートする機能があります。バージョン 2.0 以降、ストリーミング モードで使用すると、DbUnit は非常に大きなデータセットでも動作します。DbUnit は、データベース データが予想される一連の値と一致することを確認するのにも役立ちます。
SQLステートメントをテストするのはJUnitの仕事ではありません。
Mocker (EasyMockなど)を作成し、接続を分離する必要があります。したがって、モッカーはSQL接続とその結果を模倣できます。このモックオブジェクトを使用すると、SQLコネクタクラスが正しいステートメントを呼び出したかどうかを確認できます。
Aaronが言ったように、SQLステートメントやその結果などをテストする場合は、DBUnitを使用する必要があります。