Это работает с родным контейнером 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
для запуска тестов разрабатываемых версий пакетов в моей рабочей области.