我在使用單元測試來查看每個測試的覆蓋率時,在eclipse中使用了Emma覆蓋工具。然而某些行沒有得到覆蓋即時在抽象類的類聲明:eclipse中的Emma覆蓋工具可以忽略某些行嗎?
public abstract class ... {
是否有可能要麼得到艾瑪涉及該行或 - 最好 - 忽略它?
謝謝, 阿列克謝藍。
我在使用單元測試來查看每個測試的覆蓋率時,在eclipse中使用了Emma覆蓋工具。然而某些行沒有得到覆蓋即時在抽象類的類聲明: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() {
};
該類聲明已被覆蓋。但是,在JUnit測試之外進行覆蓋是另一回事,因爲沒有子類。
不知道爲什麼我並不總是給這樣的事情100%覆蓋,但我可以學會接受少於100%的大聲笑:) – 2012-05-16 10:52:45