【问题标题】:Use alternative producers of EntityManager / EMF in integration tests在集成测试中使用 EntityManager / EMF 的替代生产者
【发布时间】:2015-06-18 05:06:37
【问题描述】:
我正在寻找如何在集成测试中使用 CDI 和替代生产者的方法。当我谈到生产者时,我指的是 EMF 生产者。不同 EMF 生产者的原因是我想使用测试内存数据库(不同的持久性单元)。
是否有简单的方法来启动 CDI 以进行集成测试和使用替代生产者?
使用的技术:Java EE、JPA、CDI (weld)、DeltaSpike,基于maven
【问题讨论】:
标签:
java
maven
jpa
integration-testing
cdi
【解决方案1】:
经过一些研究,我发现 DeltaSpike 已经有一个名为“Test-Control”的模块,可以在测试中使用 CDI。所以我决定扩展当前的 EMF 生产者以从包含配置的属性文件中读取持久性单元的名称。 src/main/resources 和 src/test/resources 中的不同属性文件让我可以使用不同的持久性单元进行集成测试。