java – JUnit Derby Spring:每次测试后都会丢弃内存数据库
发布时间:2020-12-15 00:58:18 所属栏目:Java 来源:网络整理
导读:在我的单元测试中,我自动安装了一些使用URL的DataSources jdbc:derby:memory:mydb;create=true 创建内存中的DB. 要删除内存中的Derby数据库,您必须连接: jdbc:derby:memory:mydb;drop=true 我想在每次测试后都会发生这种情况,并从一个新的数据库开始.我怎么
在我的单元测试中,我自动安装了一些使用URL的DataSources
jdbc:derby:memory:mydb;create=true 创建内存中的DB. 要删除内存中的Derby数据库,您必须连接: jdbc:derby:memory:mydb;drop=true 我想在每次测试后都会发生这种情况,并从一个新的数据库开始.我怎么能用Spring做到这一点? 解决方法
如果将Spring与Hibernate一起使用,则有一种与数据库无关的方法.
确保在每个测试方法之前/之后创建/销毁应用程序上下文: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({"classpath*:application-context-test.xml"}) @TestExecutionListeners({DirtiesContextTestExecutionListener.class,DependencyInjectionTestExecutionListener.class}) @DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) public abstract class AbstractTest { } 指示Hibernate在启动时自动创建模式,并在关闭时删除模式: hibernate.hbm2ddl.auto = create-drop 现在每次测试之前 >创建应用程序上下文并注入所需的spring bean(spring) 每次测试后 >应用程序上下文被破坏(春天) 如果您正在使用事务,则可能需要添加TransactionalTestExecutionListener. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |