我正在尝试为使用PAX考试的软件包进行测试。PAX考试和配置管理员
在注解为Configuration
的方法中,我设置了运行测试之前必须加载的不同捆绑包。但是,被测试的捆绑包也期望通过配置管理服务来配置配置。
在Eclipse外部,我使用配置管理员和文件安装的Apache Felix框架,以便自动加载bundles +配置。
如何使用PAX考试提供配置信息?
谢谢,迈克尔 -
我正在尝试为使用PAX考试的软件包进行测试。PAX考试和配置管理员
在注解为Configuration
的方法中,我设置了运行测试之前必须加载的不同捆绑包。但是,被测试的捆绑包也期望通过配置管理服务来配置配置。
在Eclipse外部,我使用配置管理员和文件安装的Apache Felix框架,以便自动加载bundles +配置。
如何使用PAX考试提供配置信息?
谢谢,迈克尔 -
这很简单,只要让配置管理服务注入到你的测验,并在你的设置方法配置。这个工作示例可以在pax web项目中找到。 看一看这个link
不幸的是eclipse不会将它们的包发布到maven的回购库中。你可以做的是在maven central repo上搜索它们,或者如果你没有找到任何在你的本地maven仓库中安装随Eclipse IDE一起提供的必需包,然后在pax-exam配置中引用它们。 samething这样的:
protected static Option[] baseConfiguration(Option... extraOptions) {
Option[] options = options(
cleanCaches(),
when(isEquinox()).useOptions(
mavenBundle("org.lunifera.osgi",
"org.eclipse.osgi.services",
"3.4.0.v20131120-1328").startLevel(1),
mavenBundle("org.lunifera.osgi",
"org.eclipse.equinox.ds",
"1.4.200.v20131126-2331").startLevel(2),
mavenBundle("org.lunifera.osgi",
"org.eclipse.equinox.cm",
"1.1.0.v20131021-1936").startLevel(2), ....
public static boolean isEquinox() {
return "equinox".equals(System.getProperty("pax.exam.framework"));
}
public static boolean isFelix() {
return "felix".equals(System.getProperty("pax.exam.framework"));
}
你好@AchimNierbeck,这个例子似乎很好,帮了我很多,但如果我要注入服务(使用DS),我已经开发和服务需要从配置文件,然后如何在PAX-Exam中使用ConfigurationAdmin提供配置? –