Cobertura没有捕获反射方法调用的覆盖范围

时间:2015-02-10 13:51:47

标签: java reflection code-coverage cobertura

我有一个进行REST调用的webapp。此webapp与cobertura仪表类捆绑在一起。从REST资源中,使用反射调用公共服务API(这样做是为了克服OSGI的一些类加载问题)。

现在代码覆盖率存在问题。当我生成cobertura代码覆盖率报告时,我看到正在捕获覆盖范围,直到覆盖范围内忽略资源和所有反射公共方法调用。

我们是否有办法获得反射方法调用的覆盖范围。

请在下面找到代码示例

          for (Method method : methods) {
            if (method.getName().equals("getAbc")) {
                abc= (List<Abc>) method.invoke(**service**, serviceContextInfo);
              return SomeUtil.getSuccessResponse(abc, serviceContext);
                }
            }

未从作为核心服务调用的“method.invoke”捕获覆盖范围。我再次可以在SomeUtil类中看到响应更新的覆盖范围。

注意:这是一个OSGI环境(apache felix),被调用的方法位于与调用它的位置不同的类加载器中。

0 个答案:

没有答案