这适用于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在我的工作区中对包的开发版本运行测试。
发布于 2012-04-20 17:47:42
这被证明是一个时间问题,在0.5.3中得到了修复。
https://stackoverflow.com/questions/10211088
复制相似问题