我正在尝试使用 PAX Exam 为捆绑包设置测试。
在用 注释的方法中Configuration
,我设置了在运行测试之前必须加载的不同包。但是,被测捆绑包还期望通过 Config Admin 服务提供配置。
在 Eclipse 之外,我将 Apache Felix 框架与 Config Admin 和 File Install 一起使用,以便自动加载包 + 配置。
如何使用 PAX 考试提供配置信息?
谢谢,米凯尔
这很简单,只需将配置管理服务注入您的测试并在您的设置方法中进行配置。可以在 pax web 项目中找到一个工作示例。看看这个链接
不幸的是,eclipse 没有将他们的包发布到 maven repo 中。您可以做的是在 maven 中央存储库中搜索它们,或者以防万一您找不到在本地 maven 存储库中安装 Eclipse IDE 随附的所需捆绑包,然后在 pax-exam 配置中引用它们。像这样:
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"));
}