java – h2数据库测试maven

使用H2数据库1.3.169测试java应用程序我正在以两种不同的方式测试我的应用程序.内存数据库是在与应用程序不同的进程中创建的.我启动H2控制台并从脚本创建数据库.所有测试都通过.应用程序启动时,与应用程序在同一...

使用H2数据库1.3.169测试java应用程序

我正在以两种不同的方式测试我的应用程序.

>内存数据库是在与应用程序不同的进程中创建的.我启动H2控制台并从脚本创建数据库.所有测试都通过.
>应用程序启动时,与应用程序在同一进程中创建内存数据库.所有测试均通过Intellij IDEA 11.3.使用Maven 2测试某些测试失败(创建,更新,删除一个实体,预期数据集与结果不匹配).似乎数据库没有更新.它不会每次都发生,有时构建成功.所有测试都经过验证,所有测试均适用于Oracle和DB2.

可能是问题的原因是什么?

解决方法:

默认情况下配置与内存H2 DB的连接时会出现这种情况,例如:dbc:h2:mem:test

在这种情况下,DB存在,直到他至少有一个活动连接.当最后一个连接关闭时,DB也关闭.取决于您使用/重新使用连接(可能合并)和运行测试延迟,您可以获得比赛条件并获得意外结果.

它可以通过连接参数DB_CLOSE_DELAY = -1来修复,这意味着只有当VM死亡时才关闭db.

这是helphul link http://www.h2database.com/html/features.html#closing_a_database

本文标题为:java – h2数据库测试maven

基础教程推荐