1

私のアプリケーションでは、JPA (1.2)、Spring (3.1.2)、Spring Data (1.1.0)、および Hibernate (4.1.7) を使用しています。

エンティティとリポジトリをテストするための Junit テストケースを作成する必要がありますが、JPA のすべてのシナリオをテストするのに正しい Junit とフレームワークの正しい例を見つけることができません。

JPA リポジトリおよびエンティティ用の Junit を作成するための正しいフレームワークを教えてください。

4

2 に答える 2

0

開発者がテストで依存性注入コンテナをブートストラップできるようにするSpringTestフレームワークを使用することをお勧めします。その後、リポジトリをテストに自動配線できます。

これは私がフレームワークを使用した抜粋テストです:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:META-INF/spring/test-context.xml"})
@TransactionConfiguration(defaultRollback=false)
public class CommentRepositoryTest {

    @Autowired
    private CommentRepository repository;

    @Autowired
    PostRepository postRepository;

    @Test
    public void findOneTest(){
       Comment comment= repository.findOne(1);
       assertNotNull(comment);
       assertEquals("John Doe", comment.getAuthor());
    }

}

@ContextConfigurationSpringBeans構成ファイルを指していることに注意してください。これが、ブートストラップされている依存性注入コンテナです。アノテーションは、@Autowiredテスト用に私のリポジトリを注入しています。@TransactionConfigurationサンドボックスデータベースに対して単体テストを実行できるように、テストをロールバックしないようにSpringに指示します。これにより、ロールバック機能が隠している問題が明らかになる可能性があります。

GitHubでこの構成を示すプロジェクトがあります。

また、SpringTestを使用してjUnitテストを構成する方法を示すビデオチュートリアルも作成しました。

アノテーションを使用したテストの例もあります。@Transactional

于 2013-03-19T09:01:55.427 に答える