【发布时间】:2016-06-19 10:41:23
【问题描述】:
我创建了一个OSGi example project,并希望改进集成测试所需的捆绑包的配置。
现在捆绑包是通过文件名静态引用的,利用CoreOptions.bundle("reference:file:" + <path>),因此问题是测试将在未来某个时间失败,当 jar 的名称发生变化时(例如由于版本变化) .
有没有更好的方法来部署所需的依赖项?也许使用符号名称或组/工件 ID?
@RunWith(PaxExam.class)
public class ServiceTestCase {
@Inject
private Service service;
@Configuration
public Option[] config() {
return CoreOptions.options(
/* needed for ds annotations */
CoreOptions.mavenBundle("org.apache.felix", "org.apache.felix.scr", "1.8.2"),
CoreOptions.bundle("reference:file:../service/target/service-0.0.1-SNAPSHOT.jar"),
CoreOptions.bundle("reference:file:../service.impl/target/service.impl-0.0.1-SNAPSHOT.jar"),
CoreOptions.junitBundles());
}
@Test
public void testInjections() {
Assert.assertNotNull(service);
}
}
【问题讨论】:
标签: java maven osgi declarative-services pax-exam