PAX考试 - 未找到类错误

时间:2017-03-24 12:33:41

标签: osgi apache-karaf karaf pax-exam pax

我正在为我们的项目进行PAX集成测试,而且我在类加载方面遇到的问题很少。

我在PAX(使用过的karaf容器)中部署了一些捆绑包。一旦karaf启动,我就可以看到我的捆绑和服务已经启动并且活跃。但是,在我的测试用例中,我提到了在测试执行期间常用的类(不是服务或组件)。该类驻留在bundle中,bundle已经成功启动并运行,但是我在下面的测试用例执行中访问该类时获得ClassnotFoundError

**java.lang.ClassNotFoundException: com.myproject.sample.bundle.DatabaseConfig
        at** org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at com.integrationtest.testcases.internal.development.LaunchContainerTest.populateDBProfiles(LaunchContainerTest.java:189)
        at com.integrationtest.testcases.internal.development.LaunchContainerTest.testLaunchOSGiContainerWithDefualtSettingsAndSleep(LaunchContainerTest.java:152)
Failed tests:  
LaunchContainerTest.testLaunchOSGiContainerWithDefualtSettingsAndSleep:152->populateDBProfiles:189
▒ ClassNotFound

是否与容器有关?

1 个答案:

答案 0 :(得分:0)

由于您的测试本身也将在OSGi上下文中运行,因此您需要调整测试。动态生成的测试包需要知道它需要导入有问题的类。 为此,您可以添加专门的探针配置方法。如下所示:

summer(jun). 
summer(jul). 
summer(aug).
相关问题