0

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

public abstract class ... {

是否有可能让艾玛覆盖这条线,或者 - 最好 - 忽略它?

谢谢,阿列克谢蓝。

4

2 回答 2

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% 的覆盖率。

于 2012-04-19T15:29:28.260 回答
1

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

new AbstractClass() {

};

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

于 2013-02-14T18:31:04.780 回答