是否有可能使用hibernate / jpa编写在mysql中持久化的junit测试?
若有可用的例子?
我正在为我的应用程序使用spring / hibernate
答案 0 :(得分:0)
当您拥有真正的数据库连接时,我不会调用您的测试unit test
,而更像是integration test
。说实话,在大多数情况下,这种测试并不是一个好主意。它需要一些维护(每次你有db的变化),并且在大多数情况下只测试是否可以连接do数据库(并保存一些简单的对象)。
专注于为域级别编写好的测试。简单的数据库集成测试只会让您觉得高质量的应用程序。
答案 1 :(得分:0)
如果您想编写看起来像单元测试的集成测试,可以尝试Arquillian。
Arquillian所做的基本上是启动一个应用程序容器(我认为是默认的Glassfish),然后它将您的服务器端应用程序部署在容器中,并针对刚刚部署的应用程序运行测试。
您在单元测试中所写的内容实际上是客户端代码,因此您实际运行的是集成测试(具有真实数据库和您在真实环境中可能拥有的所有服务),就像在junit中一样方式。
他们还有一个特定的tutorial用于持久性测试。