测试 OSGi 捆绑包的快速简便方法

2022-09-03 04:20:16

目前,我正在开发一个新的版本控制系统,作为大学最后一年项目的一部分。这个想法是使其具有高度的适应性和可插拔性。

我们正在使用OSGi框架(Equinox实现)来管理我们的插件。我的问题是我找不到一种简单易用的方法来测试OSGi捆绑包。

目前,我必须使用 Maven 构建捆绑包,然后执行测试工具。我正在寻找类似Eclipse的JUnit测试运行程序的东西,因为它可以为我节省大量时间。

有没有一种快速简便的方法来测试OSGi捆绑包?

编辑:我不需要什么东西来测试Eclipse插件或GUI组件,只需要OSGi捆绑包。

编辑2:有没有一些支持JUnit4的框架?


答案 1

最近,您应该看看Pax考试:http://team.ops4j.org/wiki/display/paxexam/Pax+Exam

这是OPS4J目前与测试相关的努力。


答案 2

以下是一些尚未提及的工具:

  • 我正在使用第谷,这是一个使用Maven构建Eclipse插件的工具。如果您在自己的插件或插件片段中创建测试,则 Tycho 可以在自己的 OSGi 实例及其所有必需的依赖项中运行每组测试。介绍更多信息。这对我来说效果很好。

  • jUnit4OSGI看起来很简单。你创建OSGiTestCase的子类,你得到像,等等。getServiceReference()

  • Pluginbuilder是OSGi捆绑包/Eclipse插件的无头构建系统,它有一个名为Autotestsuite测试运行框架。在构建步骤之后,它在 OSGi 环境的上下文中运行测试。但是,它似乎已经好几年没有维护过了。我认为许多Eclipse项目正在从Plugsagebuilder迁移到Tycho。

  • 另一种选择是在单元测试启动 OSGi 容器的实例,您可以直接运行该测试,如此所述。

  • 下面有人编写了一个小捆绑测试收集器,该收集器搜索 JUnit (3) 测试并运行它们。