使用osgi蓝图进行Junit测试(ApacheAries或EclipseGemini)

使用osgi蓝图进行Junit测试(ApacheAries或EclipseGemini),junit,osgi,blueprint,aries,gemini,Junit,Osgi,Blueprint,Aries,Gemini,我真的找不到一种方法来测试junit蓝图。使用SpringDM(这个死项目)可以非常简单地使用junit和一些Mock测试相同的SpringBean。在蓝图中(白羊座或双子座)一点也不像SpringJunitClassRunner Pax考试对于单元测试来说非常复杂,并且不会产生一些结构测试结果 您知道如何使用junit测试蓝图吗?我编写了一个脚本,如果存在osgitest=junit4服务属性,它将每个服务作为junit测试运行。它使用服务的接口来搜索注释 我还编写了一个可以在maven的集成

我真的找不到一种方法来测试junit蓝图。使用SpringDM(这个死项目)可以非常简单地使用junit和一些Mock测试相同的SpringBean。在蓝图中(白羊座或双子座)一点也不像SpringJunitClassRunner


Pax考试对于单元测试来说非常复杂,并且不会产生一些结构测试结果

您知道如何使用junit测试蓝图吗?

我编写了一个脚本,如果存在osgitest=junit4服务属性,它将每个服务作为junit测试运行。它使用服务的接口来搜索注释

我还编写了一个可以在maven的集成测试阶段启动OSGi环境并在testrunner包的帮助下运行测试的程序

有了这些工具,我的目标是真正做到技术独立。唯一的要求是应用程序必须在OSGi容器上运行,并且测试必须是OSGi服务。捆绑包是项目的maven依赖项

有一个问题。插件的名称已从maven-eosgi-plugin更改为eosgi-maven-plugin(正如maven在警告中建议的那样),这不是最新的


我希望这就是您正在寻找的:)

就我而言,pax考试仍然是osgi的头号测试框架。 当然还有蓝图。您还可以找到一些用于测试Karaf的样品。

Pax考试对于单元测试来说非常复杂,并且不会产生一些结构测试结果。我知道,这是集成测试的最佳框架,但不是junit测试!不,事实上不是这样,如果您尝试使用Karaf运行,Pax考试3.1.0(现在仍然是快照)提供了Karaf容器。这将有助于您进行“最小”测试设置,因为很多测试都是开箱即用的。除了Pax考试,还有PojoSR,但如果您需要测试一些更复杂的场景,例如,如果您使用JPA,则blueprint会失败,它将不再工作…我将尝试使用karaf osgi应用程序。您可能希望为karaf创建一个自定义的zip包,该包可以与maven插件一起使用。遗憾的是,这一部分还没有很好的记录。但是,如果您使用默认的zip包(使用equinox)进行检查,您将看到它是如何工作的。zip的主文件中只有一个XML文件,其他所有文件都来自XML的配置(start命令、stop命令,…)。如果你有任何问题,请不要犹豫。