2012-09-10 240 views
2

如何在OSGI包中打包JUnit测试,以便使用Apache Felix运行它们?有没有一个标准的实现或一些解决方法为JUnit测试创建单独的包并在激活方法中运行它们?如何打包JUnit测试

编辑:我忘了说这个项目是用Maven创建的。

更新:感谢您的回答。我已经使用junit4osgi框架,它非常有用。

回答

1

如果是运行单元测试,你可能想看看Pax Exam

+0

你可以给我任何Maven项目的简单例子吗? –

+0

@ user1474038 sure [http://team.ops4j.org/wiki/display/paxexam/Pax+Exam+Maven+Dependencies](http://team.ops4j.org/wiki/display/paxexam/Pax+Exam+ Maven + Dependencies) –

1

你可能想看看如何BndTools这样做。它允许您创建可以在OSGi容器中执行的集成OSGi测试。

+0

这个工具是否适用于Maven项目? –

+0

它可以做,阅读更多在这里:http://stackoverflow.com/questions/10567325/working-with-maven-osgi-and-bndtools和http://njbartlett.name/2011/03/23/towards-maven -support-in-bndtools.html –

1

Apache Sling testing tools'org.apache.sling.junit.core包允许您在OSGi实例中运行JUnit测试。它是Sling项目的一部分,因为它是在那里创建的,但应该在没有任何Sling依赖关系的任何OSGi环境中运行。

+0

你能给我一个简单的例子吗?文档太多,我无法跟踪它。 –

+0

您可以在http://svn.apache.org/repos/asf/sling/trunk/testing/samples下找到两个示例 - 样本测试下的样本测试包和包含使用此技术的集成测试的完整样本应用程序集成测试。 –