我有以下场景.我有一个Hibernate-Spring项目,它可以在mySQL上进行生产,并使用H2内存数据库进行集成测试,这是在运行中创建的.目前,当我使用maven运行整合测试时,我会收到错误,因为数据库是在测试之间维护的.这是不可接受的,因为我计划在新数据库上运行我的测试.如何在测试之间强制删除DB中的所有数据?有没有办法告诉maven删除架构并为每个测试文件再次生成它?
您如何运行集成测试?Spring 内置了对事务测试的支持。您也可以在每次测试后手动删除并重新创建数据库,这非常简单:
SCRIPT NOPASSWORDS DROP TO 'file.sql'
Run Code Online (Sandbox Code Playgroud)
然后用以下命令恢复它:
RUNSCRIPT FROM 'file.sql'
Run Code Online (Sandbox Code Playgroud)
我想几乎每个测试框架JUnit / TestNG / Fitense / Selenium / ... 都允许在所有测试之前和每次测试之后运行一些自定义代码。
这是我的博客文章,解释了它的工作原理以及ScalaTest的示例设置。
| 归档时间: |
|
| 查看次数: |
2734 次 |
| 最近记录: |