我试图通过多次实例化createEntityManager上的EntityManagerFactory在JUnit测试上使用JPA / EclipseLink(2.5.1)多次拖放表。但是,仅删除/创建一次架构。如何使EclipseLink每次都删除/创建模式?

我的最终目标是让每个测试的数据库表处于已知状态(即为空)。有更好的方法吗?

最佳答案

在每次测试运行中重新创建架构都会大大降低测试速度。您只需要确保您的数据处于“已知状态”即可,在这种情况下,所有表均为空。所以:

在标记为“仅回滚”的事务中运行测试,以便在每次执行后数据库返回到已知状态。

和/或

看一下这两种DBUnit,可以在每次测试运行之前使用它来将数据库置于已知状态。

http://dbunit.sourceforge.net/index.html

要么

http://dbsetup.ninja-squad.com/

09-30 17:03
查看更多