我在eclipse中使用Emma覆盖工具时使用单元测试来查看每个测试的覆盖范围 . 但是,某些行不会立即覆盖抽象类中的类声明:
public abstract class ... {
是否有可能让艾玛覆盖这条线,或者 - 最好 - 忽略它?
谢谢,阿列克谢蓝 .
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%的覆盖率 .
我有一个抽象类,它有一堆静态方法,但没有别的 . 没有涵盖课堂声明 . 我在JUnit测试方法中添加了这个:
new AbstractClass() { };
class 声明已涵盖 . 但是,在JUnit测试之外覆盖它是另一回事,因为没有子类 .
2 回答
Emma已经忽略了无法到达的行,例如类声明 . 它们没有标记为覆盖,但也不计入整体线条 .
我刚用这段代码验证了它:
它返回100%的覆盖率 .
我有一个抽象类,它有一堆静态方法,但没有别的 . 没有涵盖课堂声明 . 我在JUnit测试方法中添加了这个:
class 声明已涵盖 . 但是,在JUnit测试之外覆盖它是另一回事,因为没有子类 .