【发布时间】:2015-06-02 15:26:12
【问题描述】:
如果我有以下类(A 和 B),它们都在一个单独的模块中,并且我为 A.doSomething() 创建了一个测试,Sonar 会抱怨 B.doSomething() 的 0% 覆盖率,尽管它正在TestA 中进行间接测试。
使用Ecclema覆盖插件进行eclipse,我可以see B.doSomething()被认为是覆盖了。
Sonar 这样做有什么原因吗?有没有办法改变 Sonar 的代码测试覆盖率的行为以包含间接测试的类?
class A {
boolean doSomething() {
return new B().doSomething();
}
}
class B {
boolean doSomething() {
return true;
}
}
【问题讨论】:
-
这应该可以工作,除非你的类在单独的模块/子项目中(目前没有跨模块覆盖率计算)。
-
@Mithfindel 是的,它们都在一个单独的模块中。没有可行的解决方法吗?