目前,我正在研究新版本控制系统,作为大学最后一年项目的一部分.我们的想法是使其具有高适应性和可插拔性.
我们正在使用OSGi框架(Equinox实现)来管理我们的插件.我的问题是我找不到一个简单易用的方法来测试OSGi包.
目前,我必须使用Maven构建捆绑包,然后执行测试工具.我正在寻找像Eclipse的JUnit测试运行器这样的东西,因为它会节省我一大堆时间.
有没有一种快速简便的方法来测试OSGi包?
编辑:我不需要测试Eclipse插件或GUI组件,只需要测试OSGi包.
EDIT2:是否有一些支持JUnit4的框架?
最近,你应该看看Pax考试:http: //team.ops4j.org/wiki/display/paxexam/Pax+Exam
这是OPS4J目前与测试相关的工作.
Spring Dynamic Modules对测试OSGi包提供了出色的支持.
在OPS4J(ops4j.org)上有一个名为Pax Drone的专用开源OSGi测试框架.
您可能想看看Pax Drone([ http://wiki.ops4j.org/confluence/x/KABo]),它可以让您在测试中使用所有Felix版本以及Equinox和Knopflerfish.
干杯,托尼
以下是一些尚未提及的工具:
我正在使用Tycho,这是一个使用Maven构建Eclipse插件的工具.如果您在自己的插件或插件片段中创建测试,Tycho可以在其自己的OSGi实例中运行每组测试,并具有所有必需的依赖项. 介绍和进一步的信息.这对我很有用.
jUnit4OSGI看起来很简单.你创建OSGiTestCase的子类,你得到像getServiceReference()
等等的方法.
Pluginbuilder是OSGi bundle/Eclipse插件的无头构建系统,它有一个名为Autotestsuite 的测试运行框架.它在构建步骤之后在OSGi环境的上下文中运行测试.但是,它似乎没有维持好几年.我认为许多Eclipse项目正在从Pluginbuilder迁移到Tycho.
另一种选择是开始的一个实例,一个OSGi容器内的单元测试,你直接运行,如解释在这里.
这是一个写了一个小包测试收集器的人,它搜索JUnit(3)测试并运行它们.