测试需要OSGI的简单方法,没有大量的人工制品和依赖关系

时间:2009-12-12 00:53:44

标签: osgi infinitest

OSGI测试框架 - 一些观察结果。

我正在编写一个使用OSGI的系统。然而,即使是最简单的测试,所有流行的测试框架(Spring-OSGI,PaxExam)都需要大量的人工制品。

愿望清单/目标

理想情况下,我想要一个使用TinyBundle来组装bundle并将它们提供给框架的Test。然后,框架将重新启动容器,部署,运行每个测试,更新ui以显示结果等。

从表面上看,似乎PAX-EXAM会满足这一要求,但它有额外的要求,这是我在Eclipse中无法解决的。我的问题是:

  • 每个捆绑包都需要一个单独的项目。
  • 每个项目在$ project / meta-inf /中获取manifest.mf。

理想情况下,我想将我的所有清单和“内部”类捆绑在测试的单独子包中,而不是将它们分散在各自的项目中。

我发现将一切包装到一个项目中只是在测试时不起作用 即使所提供的捆绑包内容相同,也要执行。但是,如果我将所有内容分成不同的项目,那么就可以了。

的Maven

我希望避免使用maven,因为这意味着一个更复杂的系统最终需要构建,部署到repo中,最终即使在自动化时也会减慢速度。这与我对Infinitest的使用相冲突,后者自动检测更改的类并执行正确的测试。

Eclipse Project插件启动配置。

这种方法要求在执行junit测试之前选择要部署的bundle。这当然只有在每个包具有一对一映射的单独项目时才有效。这再次违背了我在一个项目下整合所有测试依赖项捆绑包的尝试。

如何,可以吗?

  • 我怎样才能做到这一点?
  • 这实际上是否可行?
  • 最简单的选择是什么?

1 个答案:

答案 0 :(得分:1)

我们在OSGi测试框架(测试OSGi框架实现)中做了一个替代方案,它也利用了Pax Exam。你可以在这里找到:

,而不是重复它的工作原理的整个解释

http://opensource.luminis.net/wiki/display/OSGITEST/OSGi+testing+framework

它不使用Maven,并且在此解释编写新测试:

http://opensource.luminis.net/wiki/display/OSGITEST/Writing+a+framework+test

也许有些解决方案可以激发你的灵感。总而言之,OSGi有很多测试框架(就像非OSGi一样),但到目前为止还有一个“使其余部分过时了”。

相关问题