0

他のフィールドの中でフィールドを持つエンティティを作成しましたprivate int id;。ここで、永続化コンテキストに追加され、ID を取得したことを確認する単体テストを作成したいと思います。しかし、何を確認すればよいですか?フィールドはデフォルトで 0 に初期化されており、ラッパー クラス Integer を使用していないため (これは使用しません)、それを確認する方法がわかりません。

4

2 に答える 2

0

setId()誰かがあなたのエンティティを呼び出していることを確認したいので、テストは単体テストにはなりません。この場合の単体テストentityManager.persist(myEntity)は、 mocked に対して が呼び出されていることを確認することentityManagerです。

私が理解しているように、これの統合テストが必要です。かなり優れた統合テスト フレームワークであるArquillianを試してください。JUnit フレームワークで使用できます。EJB をインジェクトして JUnit にモックすることができEntityManager、JPA クエリを実行するためのメモリ内 DB を維持します。

Arquillianリファレンスガイド

于 2012-10-27T13:34:51.647 に答える
0

代わりに、保存されたオブジェクトを返す which をentityManager.persist(entity)使用できます。entityManager.merge(entity)返されたオブジェクトからIDを取得し、必要なものを確認できます。

于 2012-10-27T13:47:45.380 に答える