我的应用程序基于 playframework 并包含多个模块。通过 JPA ( <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
)处理数据库交互
我的任务是用单元测试覆盖这些模块之一。
不幸的是,使用在模块级别提供的单元测试运行“播放测试”命令会导致以下异常:
javax.persistence.PersistenceException: No Persistence provider for EntityManager named defaultPersistenceUnit
Persistence-Provider 在 conf/META-INF/persistence.xml 中全局定义(在模块之外),将全局 persistence.xml 复制到模块并不能解决问题。
假设模块内没有其他测试,将测试放在模块之外(在全局测试目录中)并执行它们可以完美地工作。
有人可以解释一下为什么会出现错误吗?有什么方法可以在模块级别进行支持 JPA 的测试吗?
提前致谢
乌尔斯