2016-04-23 8 views
0

私はいくつかのレガシーコードの統合テストを書いています。関数が期待どおりに動作するように、私は偽のデータをセットアップし、テストAPIを呼び出し、データをクリーンアップする必要があります。DAOの統合テストに「実削除」メソッドを追加すべきですか?

は、ポリシーの理由のため、私たちはHibernateとMyBatisの、決して直接接続のようなツールを介してデータベースにアクセスすることができます。ただし、DAOを上の私たちのdelete()方法は、(。すなわち、is_deleteフラグをオン)、常にソフト削除スタイルのあるので、クリーンアップは、実際にはis_deleteフラグをオンにし、偽のデータがまだそこにあります!

だから、私は統合テストのためのDAOの「リアル・削除」メソッドを追加するか、この問題に対処するための良い方法はありますでしょうか?結局、統合テストの点は仕方、彼らが実際に使用される彼らをエミュレートするための努力で一緒にすべてのコンポーネントをテストすることである - 本当のdeleteメソッドを追加すると間違って何もありません

答えて

0

私はちょうどあなたがこれを行うならば、あなたは最初にあなたが重複されません知っているレコードを追加していることを確認します。次に、それらのレコードがデータベースに存在し、それらを削除し、存在しなくなったと主張することができます。そうすれば、テストで実際のデータが削除されることはありません。

関連する問題