使用Osgi进行Junit测试无法启动Jpa组件

时间:2010-03-04 10:28:57

标签: java jpa junit osgi

我们正在使用OSGI并希望编写一个JUnit Systemtest。我们有一个组件,它使用Java Persistence API(JPA)与数据库交互。当我们启动测试时,我们收到一条错误消息,即无法激活数据库组件。

我们认为,发生此错误,因为jpa找不到persistence.xml。但我们尝试在我们能想到的每个可能位置复制文件。每次发生同样的错误。有人知道解决方案吗?

的OSGi> 10:03:49.461 [组件解析线程] DEBUG f.d.s.system.test.SystemTest - 已启动 ERROR 22 [SCR]无法激活实例...

2 个答案:

答案 0 :(得分:0)

没有名为bus.database 的EntityManager的持久性提供程序 因此CLASSPATH中没有JPA实现。显然取决于“bus.database”是否仅指定在特定JPA实现(提供者)上运行。

答案 1 :(得分:0)

尝试使用Pax Exam实施系统测试。您必须为测试定义所有必需的包(例如JPA实现包,您的组件等)。