1

我正在使用 FuseESB 运行我的应用程序,它本质上是 OSGI 容器(Felix),我想找到在集成模式下测试我的 OSGI 服务的方法(包括外部依赖项,如 DB、外部服务等)。首先想到的是能够将特定包运行到容器中,该容器涉及所有应用程序服务到运行此包中定义的测试。有人可以帮助解决这种问题吗?谢谢!

4

3 回答 3

2

有不同的测试方法。由于 FuseESB 基于 Apache Karaf,您可以使用 apache karaf-pax-exam 工具进行测试,以自动测试完整的容器设置。在 OSGi 容器中测试 OSGi 包的另一种方法是直接使用 pax-exam。最后但并非最不重要的一点是,如果您只是想测试您可能会使用 pojosr 测试的服务查找功能,它非常适合测试,但它有局限性,尤其是在您依赖容器功能的情况下。也就是说,您将在以下页面找到信息:

大同考试

阿帕奇卡拉夫

示例 Pax-Web 如何在其 iTests 中使用 pax-exam

于 2013-02-07T08:24:14.647 回答
0

您可能会发现http://www.javabeat.net/2011/11/how-to-test-osgi-applications/作为各种 OSGi 测试选项的概述很有帮助。配置 PAX-Exam 以拉入您的整个 FuseESB 容器并让您的所有应用程序服务存在将涉及某些挑战,但是一旦您掌握了诀窍,它就会非常方便。

于 2013-02-07T11:40:52.297 回答
-1

bndtools 作为在容器内进行 JUnit 测试的可能性。

于 2013-02-06T15:59:23.520 回答