3

我正在尝试使用 Pax Exam 集成测试 Karaf 功能,但我无法弄清楚如何在我的config()方法中安装功能。

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")但似乎没有机制可以通过 Pax Exam 安装 Karaf 功能。

我能够在使用 Junit 注释的设置方法中实用地安装功能,@Before但是使用 @Inject 注入我的服务为时已晚。

config()是否可以通过 Pax 考试测试的方法安装 Apache Karaf 功能?

4

1 回答 1

9

首先,我强烈建议使用最新版本的 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 上找到一个工作示例

于 2013-11-10T22:46:33.423 回答