2009-12-12 33 views
2

OSGI测试框架 - 一些意见。简单的方法来测试需要OSGI没有大量的人工制品和依赖关系

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

收藏/目标

理想我想使用TinyBundle组装束和它们提供到框架的单个测试。然后框架将开始启动容器,部署,运行每个测试,更新UI以显示结果等等。

从表面上看,PAX-EXAM可以满足这个要求,但它有其他要求,在Eclipse中我无法解决这个问题。我的问题是:

  • 每个包需要一个单独的项目。
  • 每个项目都会在$ project/meta-inf /中获得一个manifest.mf文件。

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

我发现将所有内容打包到一个项目中,即使执行测试 ,即使所配置的软件包内容相同,也不起作用。但是,如果我把所有东西都分解成单独的项目,那么这些东西就可以工作。

Maven的

我想避免的Maven,因为这意味着更复杂的系统,它最终会需要构建,部署到这到底自动化即使回购只是会减慢速度,甚至更多。这与我使用Infinitest会自动检测已更改的类并执行正确的测试相冲突。

Eclipse Project Plugin启动配置。

该方法需要一个人在执行junit测试之前挑选要部署的包。这当然只适用于每个包含一对一映射的单独项目。这再次违背了我在一个项目下整合所有测试依赖包的尝试。

怎么样,可以做到吗?

  • 我该如何做到这一点?
  • 这实际上可行吗?
  • 什么是最简单的选择?

回答

1

另一个也可以利用Pax Exam的替代方法就是我们在OSGi测试框架(测试OSGi框架实现)中所做的。而不是复制它是如何工作的整体解释,你可以发现,这里:

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

它不使用Maven,并写入新的测试在这里解释:

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

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

+2

链接被破坏,但我发现[this](https://github.com/wtreur/osgi-specification-test-framework)。 – reinierpost 2013-09-10 14:38:12

+0

这确实是该代码的新位置。沃尔特是作者,所以如果你有任何进一步的问题,你应该可以与他联系。 – 2013-09-10 14:45:20

+0

我现在只学习OSGi的基础知识......但我希望以后有很多问题:) – reinierpost 2013-09-10 14:49:09

相关问题