在我的单元测试中,我自动安装了一些使用URL的DataSources
jdbc:derby:memory:mydb;create=true
创建内存中的DB.
jdbc:derby:memory:mydb;drop=true
解决方法
如果将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)
>创建数据库结构(休眠)
>如果存在,则执行import.sql(休眠)
每次测试后
如果您正在使用事务,则可能需要添加TransactionalTestExecutionListener.
原文地址:https://www.jb51.cc/java/126242.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。