OSGI集成测试和代码覆盖率

7

我们有一个桌面应用程序,部署在OSGI包中,并且有集成测试来测试加载到OSGI容器中的包。

  1. 我正在寻找一种工具,以计算加载到OSGI包中的集成测试的代码覆盖率。
  2. 目前我们正在尝试使用Jacoco和Sonar进行集成测试代码覆盖率的处理,但我们不确定它们是否足够好来处理OSGI集成测试代码覆盖率。
  3. 还有其他可用的工具来计算OSGI集成测试代码覆盖率。
2个回答

3

大多数,如果不是全部的代码覆盖工具都应该可以与OSGi一起使用。它们通常的策略是对字节码进行后处理,注入额外的代码来实现代码覆盖率测量。这样做会引起最大的问题就是这些代码现在通常依赖于额外的代码(即代码覆盖库)。这些依赖关系可以通过显式地添加Import-Package语句来解决,就像处理其他任何依赖关系一样。

你还有另一个选择,就是将代码覆盖库添加到bootclasspath中,这样你就不需要那些额外的导入(这会破坏模块化,通常情况下不是你想要的,但在这种情况下无关紧要)。一旦解决了这个问题,剩下的就是对正确的bundle进行仪器化和聚合多个不同测试运行的结果。


谢谢您提供这些信息,我特别是在寻找上述情况! - Leo Prince

0

我们采用第二种方法,它成功了。Jacoco能够提供OSGI集成测试的测试覆盖率,并在Sonar仪表板中展示。


我也尝试使用pax-exam osgi测试工具和jacoco,但无法生成报告,请问您能分享一下您的jacoco配置吗? - Aruna Karunarathna

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接