SpringJDBCテンプレートを使用してMySQLデータベースと通信するJavaアプリケーションがあります。私のテストの1つでは、統合テストに存在しないテーブルをシミュレートしたいのですが、さまざまな理由から、テストデータベースでテーブルを一時的に削除/再作成したり名前を変更したりすることはできません。
また、他のメソッドを使用する場合にエラーをスローするテーブルにヒットする特定のDAOメソッド呼び出しをモックアウトしたくありません。データベースに送信される前にSQLをインターセプトし、テーブル名(存在する場合)を偽の名前に置き換えるなど、同じ効果をもたらす何かを実行したいと思います。
勝利のためのテスト駆動開発!