我正在嘗試爲使用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提供配置? –