这适用于Pax Exam原生容器(Pax Exam 2.3.1),但不适用于Pax Exam Karaf容器(0.5.2):
@Configuration
public Option[] config() {
return options(
// karafDistributionConfiguration()
// .frameworkUrl(
// maven().groupId("org.apache.karaf")
// .artifactId("apache-karaf").type("zip"))
// .karafVersion("2.2.6").name("Apache Karaf"),
provision(bundle("reference:file:/path/to.jar")));
}
检查捆绑软件已安装的测试:
@Inject
BundleContext bundleContext = null;
@Test
public void sameRepositoryProvidesFBServiceAndUserService() {
for (Bundle b : bundleContext.getBundles()) {
if (b.getSymbolicName().equals(myBundleName)) {
return;
}
}
fail("Bundle " + myBundleName + " not found");
}
如果我取消注释karafDistributionConfiguration
并将bundle(url)
替换为mavenBundle(groupId, artifactId)
,则会在Pax Exam Karaf下再次通过测试。有可能吗?我需要使用bundle
在我的工作区中针对bundle的开发版本运行测试。
答案 0 :(得分:0)
结果是时间问题,修正在0.5.3。