2013-11-10 5 views
3

Я пытаюсь интегрировать тест с функцией Karaf с экзаменом Pax, но я не могу решить, как установить функцию в моем методе config().Pax Exam/Karaf - функция установки при установке теста

Экзамен Pax - версия 2.6.0 и Apache Karaf 2.3.2.

Это мой метод конфигурации:

@Configuration 
public Option[] config() { 
    return new Option[]{karafDistributionConfiguration().frameworkUrl(
      maven().groupId("org.apache.karaf").artifactId("apache-karaf").type("zip").versionAsInProject()) 
      .karafVersion("2.3.2").name("Apache Karaf").unpackDirectory(new File("target")), 
      keepRuntimeFolder()}; 
} 

Индивидуальных пакеты могут быть установлены с mavenBundle("group", "artifact", "version") но, кажется, нет никакого механизма, чтобы установить функцию Karaf с Pax экзаменом.

Я могу установить функции прагматически в методе настройки, аннотированном с помощью Junit @Before, но слишком поздно, чтобы мои услуги были введены с помощью @Inject.

Возможно ли установить функции Apache Karaf в методе config() экзамена на экзамен Pax?

ответ

7

Прежде всего я настоятельно рекомендую использовать последнюю версию Pax-Exam (3.3.0), она обеспечивает поддержку Karaf из коробки. Во-вторых, вы можете установить функции непосредственно в методе config(). Например:

features(maven().groupId("org.apache.karaf.assemblies.features") 
     .artifactId("standard").type("xml").classifier("features") 
     .versionAsInProject(), "http-whiteboard") 

Вы найдете рабочий образец на мое github

+0

Спасибо за ваш ответ, именно то, что я искал. – samlewis

Смежные вопросы