微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

spring – 在maven中的integeration测试之间在内存DB中删除H2

我有以下场景.
我有一个Hibernate-Spring项目,它可以在MysqL上进行生产,并使用H2内存数据库进行集成测试,这是在运行中创建的.
目前,当我使用maven运行整合测试时,我会收到错误,因为数据库是在测试之间维护的.这是不可接受的,因为我计划在新数据库上运行我的测试.
如何在测试之间强制删除DB中的所有数据?
有没有办法告诉maven删除架构并为每个测试文件再次生成它?

最佳答案
我将看一下Spring’s support for embedded databases.您可以让Spring为您进行数据库创建和设置,并让您以简单的DataSource的形式访问它.您真正需要做的就是提供sql脚本来创建/填充数据库,每次运行时,都会重新创建数据库.

bedded-database id="dataSource" type="h2">
    sspath:schema.sql"/>
    sspath:test-data.sql"/>
bedded-database>

不要忘记jdbc命名空间:

http://www.springframework.org/schema/jdbc
http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐