2016-07-22 39 views
0

CRUD操作で問題が発生しました。JUnitを使用しています。JUnitを使用したデータベースでCRUD操作をテストする

ローカルデータベースで動作するJavaアプリケーションがあり、このdbのエンティティのCRUD操作をテストする必要があります。

CRUD操作を実際に使用できない場合、どのようにテストできますか?

たとえば、作成操作が機能するかどうかをテストするには、新規作成されたエントリが実際に入力データに対応していることを確認する必要があります。読み込み操作にアクセスできない場合、どうすればいいですか?

+0

CRUD - 作成、取得、更新、削除。私は実際にそれらを使用することができないという意味ですか? – Unknown

+1

dbunitやdbsetupなどのフレームワークを試してください – noscreenname

+0

私は、読み取り操作が正しいと言うことができないので、読み取り操作が正常であると仮定して作成操作をテストするのは間違っています。 dbunitを使用することはできません。私はjunitを使用しなければならない学校のことです – VGordon

答えて

1

あなたはすでに正しい答えを念頭に置いていると思いますが、それに従うことも、行動することもできません。 実動コードとテストコードには、1組の操作を使用することはできません。つまり、テストコードに使用するオペレーションが2つの独立したオペレーションセットを必要としており、テストコードが正しく動作することがすでに証明されています。例えば

Independent Sets of Operations: Production vs Test

あなたはがあなたのエンティティの操作を作成してテストしたいとき、あなたは(JDBC/SQLでを選択経由など)別のチャネルを介してデータベースの状態をテストする必要がありますすでに正しく動作しています。 もう1つのテストケースは、エンティティの操作をテストすることです。その後、を呼び出す前にエンティティの操作を実行する場合は、データベースの初期状態をINSERT(JDBC/SQL経由)に設定し、エンティティの操作Readを呼び出して期待される結果を確認する必要があります。

これらの2つの独立したテスト方法のセットは、テストするまで依存できないため、重要です。既にテストされている別の独立したメソッドを使用すると、この鶏卵問題が解消されます。

関連する問題