2012-04-19 67 views
0

我在使用单元测试来查看每个测试的覆盖率时,在eclipse中使用了Emma覆盖工具。然而某些行没有得到覆盖即时在抽象类的类声明:eclipse中的Emma覆盖工具可以忽略某些行吗?

public abstract class ... { 

是否有可能要么得到艾玛涉及该行或 - 最好 - 忽略它?

谢谢, 阿列克谢蓝。

回答

2

Emma已经忽略了无法到达的行,例如类声明。它们没有被标记为覆盖,但也不计入总体线路。

我只是使用此代码验证它:

import junit.framework.TestCase; 
public class Test extends TestCase { 

    public void testSomething() { 

     assertTrue(new Check().check()); 
    } 
} 
abstract class AbstractCheck { 

    protected abstract boolean check(); 
} 
class Check extends AbstractCheck { 

    @Override 
    protected boolean check() { 
     return true; 
    } 
} 

返回100%的覆盖率。

+0

不知道为什么我并不总是给这样的事情100%覆盖,但我可以学会接受少于100%的大声笑:) – 2012-05-16 10:52:45

1

我有一个抽象类,它有一堆静态方法,但没有别的。类声明没有涵盖。我在JUnit测试方法中添加了这个:

new AbstractClass() { 

}; 

该类声明已被覆盖。但是,在JUnit测试之外进行覆盖是另一回事,因为没有子类。