0

通常、単体テストでは、オブジェクトのモックが使用されます。しかし、たとえばEntityManagerがモックされている場合、JPAエンティティの単体テストをどのように作成する必要がありますか?実際に何がテストされますか?

編集:オブジェクトが適切に永続化されているかどうかをテストしたいとします。本番コードでは、永続性のために、コンテナーが提供するEntityManagerを使用できます。このタイプのテストでは、このEntityManagerをモックする必要がありますか、テスト用のリソースローカルテストにする必要がありますか、それともコンテナーでテストを実行する必要があります(テストの実行はJavaコードからトリガーされます)。

4

1 に答える 1

3

エンティティはデータを表します。他のメソッドと同じようにユニットテストできるいくつかのメソッド(ゲッターとセッター以外)を持つことができます。

エンティティを永続化してデータベースから取得できること(つまり、そのマッピングが正しく定義されていること)をテストする場合は、何もモックしないでください。実際のエンティティマネージャーとテストデータで満たされたデータベースを使用し、エンティティのインスタンスを永続化および/または取得しようとするテストを行います。

DbSetup(はい、ここでは自己宣伝)を使用して、そのようなテストの前にデータベースにテストデータを入力することができます。

于 2012-11-16T09:25:02.883 に答える