使用嵌入式 h2 数据源和可选的 JUnit进行集成测试的 Spring 配置是什么样的?
我对SingleConnectionDataSource的第一次尝试基本上奏效了,但在需要同时多个连接或暂停事务的更复杂的测试中失败了。我认为基于 tcp 的服务器模式下的h2可能也可以工作,但这可能不是内存中临时嵌入式数据库的最快通信模式。
有哪些可能性及其优点/缺点?另外,您如何创建表/填充数据库?
更新:让我们指定一些对此类测试很重要的具体要求。
- 数据库应该是临时的并且在内存中
- 出于速度要求,连接可能不应该使用 tcp
- 如果我可以在调试过程中使用数据库工具来检查数据库的内容,那就太好了
- 我们必须定义一个数据源,因为我们不能在单元测试中使用应用服务器数据源