JerseyJUint测试 - 如何在java中以编程方式加载OSGI-INF / blueprint / config.xml文件

时间:2017-09-07 20:26:40

标签: java rest osgi karaf

我正在为宁静的网络服务编写Junit。我想加载我的配置文件,它位于 /src/test/resources/OSGI-INF/blueprint/config.xml ,所以在执行我的任何测试用例之前,所有在config中定义的bean。 xml文件应该初始化。你能不能告诉我如何以编程方式检索所有bean而不使用spring。 请帮助,我是OSGI和Karaf的新手。

1 个答案:

答案 0 :(得分:0)

我几乎认为你找不到一种有效的方法来统一使用OSGi相关技术的代码的测试。但是,有几种方法可以使用JUnit注释编写测试并在OSGi容器上运行它们。要使用这些工具,您必须收集捆绑包所需的所有依赖项。您可以将其称为半集成测试和半单元测试。

这些工具是:

  • Pax exam:它会为你的每个测试方法启动一个OSGi容器(就像我记得的那样,几年前我用过它)
  • BndTools:如果您使用BndTools开发模块,您还可以编写可以在ant,maven或gradle构建期间运行的测试
  • eosgi-maven-plugin:通过集成测试目标,它将项目的所有依赖项安装到OSGi容器中。您必须将测试类的实例注册为具有特定服务属性的OSGi服务。您的测试类必须包含JUnit4注释。还有一个eclipse plugin,它使您可以启动测试容器,并在执行后在Eclipse中查看新的测试结果。对于这个选择,有video来帮助开始