私の DAO レイヤーでは、ストアド プロシージャを呼び出すことによってすべてのデータベース作業を行っています。EasyMock を使用して DAO レイヤーのテストに成功した人はいますか?
ありがとうダミアン
私の DAO レイヤーでは、ストアド プロシージャを呼び出すことによってすべてのデータベース作業を行っています。EasyMock を使用して DAO レイヤーのテストに成功した人はいますか?
ありがとうダミアン
それは不可能だと思います。(EasyMock やその他のモック フレームワークを使用して) DAO が実際に何らかのストアド プロシージャを呼び出したことを主張したり、それが何をしたかを検証したりする方法はありません。
DAO + EasyMock でできる唯一のことは、DAO をモック/スタブすることですが、DAO をテストするのではなく、DAO で動作する共同作業者 (MVC を話している場合は通常、ある種のコントローラー) をテストします。
DAO/StoredProcedures の統合テストを行うには、DBUnitをお勧めします。
DAO がビジネス エンティティにCRUDを提供する場合、DAOの各操作をテストできます。
testLoad
・DBから読み込んで(1)と比較testInsert
- 新しいエンティティを DB に挿入し、リロードして比較しますtestUpdate
- 既存のエンティティを変更し、DB に保存してリロード/比較するtestDelete
- (1) からいくつかのエンティティを削除し、それをロードして失敗したことをアサートします (他に何も削除されていないことを確認するのも良いことです)。