Java 如何测试HibernateJPA持久层?

Java 如何测试HibernateJPA持久层?,java,junit,hibernate-jpa,Java,Junit,Hibernate Jpa,我需要编写数据访问测试(Hibernate持久性操作),因为我想知道即使升级Hibernate版本,它也能按预期工作。那么使用Junit的最佳方式是什么呢??测试外部系统(Hibernate JPA实现)真的有用吗?测试其他人的代码并不是真的有用,因为您不能更改它。 但是如果您想要一些有用的东西,您可以在测试之前尝试使用dbunit()来设置db,然后断言db的内容。。另外,dbunit周围还有一个与spring()配合使用的包装器,它使db中带有注释的部分的设置和断言更加容易 我的意思是,测试

我需要编写数据访问测试(Hibernate持久性操作),因为我想知道即使升级Hibernate版本,它也能按预期工作。那么使用Junit的最佳方式是什么呢??测试外部系统(Hibernate JPA实现)真的有用吗?

测试其他人的代码并不是真的有用,因为您不能更改它。
但是如果您想要一些有用的东西,您可以在测试之前尝试使用dbunit()来设置db,然后断言db的内容。。另外,dbunit周围还有一个与spring()配合使用的包装器,它使db中带有注释的部分的设置和断言更加容易

我的意思是,测试别人的软件基本上是没有用的,因为如果你发现一个错误,改变他们的代码会有什么后果?不,我会依赖于他们的代码质量,专注于我自己的代码。你在使用Spring吗?测试你自己的代码。无论如何,您都需要找到一种hibernate与您的代码协同工作的方式。我假定您希望测试将实体映射到dbms的方式,并且即使您更改了正在使用的hibernate或JPA的版本,这种方式是否有效。我觉得这很合理。这可以在目标服务器或ioc单元ejb中使用arquillian进行测试,即使您没有在weld容器中使用ejb。示例:我关心的是,即使我升级了Hibernate版本,我也想知道DB层是否能按预期工作,因此如果我增加Hibernate版本,我将能够检测是否有任何问题。