使用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
- 基于javaweb+jsp实现企业车辆管理系统 2023-07-30
- SpringBoot如何使用applicationContext.xml配置文件 2023-02-05
- Java结构型设计模式之桥接模式详细讲解 2023-05-24
- 如何在Java中判断两个Long类型是否相等 2023-05-24
- 图解Java ReentrantLock的条件变量Condition机制 2023-06-11
- 为何HashSet中使用PRESENT而不是null作为value 2023-06-10
- Java中的zookeeper常用命令详解 2023-01-29
- HashMap原理及手写实现部分区块链特征 2023-05-14
- 详解Java注解实现自己的ORM 2023-06-16
- MyBatis映射器mapper快速入门教程 2023-06-01