Spring 在mysql中持久化的Junit测试

Spring 在mysql中持久化的Junit测试,spring,hibernate,jpa,junit4,Spring,Hibernate,Jpa,Junit4,是否可以使用hibernate/jpa在mysql中编写持久化的junit测试 如果有,有什么例子吗? 我正在为我的应用程序使用spring/hibernate当您有真正的数据库连接时,我不会调用您的测试单元测试,而是更像集成测试。老实说,这种测试在大多数情况下都不是一个好主意。它需要一些维护(每次在数据库中进行更改时),在大多数情况下,只需测试是否可以连接do数据库(并保存一些简单的对象) 专注于为域级类编写良好的测试。简单的数据库集成测试只会给您带来高质量应用程序的错觉。如果您想编写一个看起

是否可以使用hibernate/jpa在mysql中编写持久化的junit测试

如果有,有什么例子吗?

我正在为我的应用程序使用spring/hibernate

当您有真正的数据库连接时,我不会调用您的测试
单元测试
,而是更像
集成测试
。老实说,这种测试在大多数情况下都不是一个好主意。它需要一些维护(每次在数据库中进行更改时),在大多数情况下,只需测试是否可以连接do数据库(并保存一些简单的对象)


专注于为域级类编写良好的测试。简单的数据库集成测试只会给您带来高质量应用程序的错觉。

如果您想编写一个看起来像单元测试的集成测试,您可以尝试

Arquillian所做的基本上是启动一个应用程序容器(我认为默认情况下是Glassfish),然后在容器中部署服务器端应用程序,并对刚刚部署的应用程序运行测试

您在单元测试中编写的实际上是客户机代码,因此您有效运行的是一个集成测试(使用真实的数据库和真实环境中的所有服务),就像junit一样


它们还有一个专门的持久性测试。

实际上,我有一个android设备,用于通过webservice与我的服务器通信。因此,我依赖android来测试我的保存方法是否有效。这就是为什么我想为这个方法编写一个junit,看看它是否在db中持久存在。我的数据库是一个测试数据库。所以我可以用它做任何事情(删除/添加),它是一个我正在保存的简单对象