我正在使用FuseESB来运行我的应用程序,它本质上是OSGI容器(Felix),我想要了解在集成模式下测试我的OSGI服务(包括外部依赖项,如DB、外部服务等)的方法。首先要考虑的是,能够将特定的捆绑包运行到容器中,这涉及到运行此捆绑包中定义的测试的所有应用程序服务。有人能帮助解决这类问题吗?谢谢!
发布于 2013-02-07 16:24:15
有不同的方法来测试它。由于FuseESB是基于Apache Karaf的,因此您可以使用apache karaf-pax-exam工具进行测试,以自动测试完整的容器设置。在OSGi容器中测试OSGi包的另一种方法是直接使用pax-exam。最后但并非最不重要的是,如果你只是想测试你的服务查找功能,你可以用pojosr测试,它非常适合测试,但它有它的局限性,特别是如果你依赖容器特性的话。也就是说,您可以在以下页面找到相关信息:
Pax-Exam
Apache Karaf
发布于 2013-02-07 19:40:52
您可能会发现,作为各种OSGi测试选项的概述,http://www.javabeat.net/2011/11/how-to-test-osgi-applications/很有帮助。配置PAX-Exam以引入整个FuseESB容器并获取所有应用程序服务将涉及到某些挑战,但一旦你掌握了诀窍,它可能会非常方便。
发布于 2013-02-06 23:59:24
bndtools作为在容器内进行JUnit测试的可能性。
https://stackoverflow.com/questions/14732530
复制相似问题