我试图通过多次实例化createEntityManager
上的EntityManagerFactory
在JUnit测试上使用JPA / EclipseLink(2.5.1)多次拖放表。但是,仅删除/创建一次架构。如何使EclipseLink每次都删除/创建模式?
我的最终目标是让每个测试的数据库表处于已知状态(即为空)。有更好的方法吗?
最佳答案
在每次测试运行中重新创建架构都会大大降低测试速度。您只需要确保您的数据处于“已知状态”即可,在这种情况下,所有表均为空。所以:
在标记为“仅回滚”的事务中运行测试,以便在每次执行后数据库返回到已知状态。
和/或
看一下这两种DBUnit,可以在每次测试运行之前使用它来将数据库置于已知状态。
http://dbunit.sourceforge.net/index.html
要么
http://dbsetup.ninja-squad.com/