是否有可能在eclipse中使用Emma覆盖工具来忽略某些行?

时间:2012-04-19 13:48:11

标签: java eclipse emma

在使用单元测试查看每个测试的覆盖范围时,我在eclipse中使用了Emma覆盖工具。但是,某些行不会在抽象类中立即覆盖类声明:

public abstract class ... {

是否可以让Emma覆盖这一行,或者 - 最好 - 忽略它?

谢谢, 阿列克谢蓝。

2 个答案:

答案 0 :(得分: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%的覆盖率。

答案 1 :(得分:1)

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

new AbstractClass() {

};

涵盖了班级声明。但是,在JUnit测试之外覆盖它是另一回事,因为没有子类。