2012-04-19 18 views
0

単体テストを使用しているときにエマのカバレッジツールを使用して、各テストのカバレッジを確認しています。しかし、特定の行が一瞬抽象クラスのクラス宣言をカバーしません: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%笑って受け入れる方法を学ぶことができます:) –

1

私には静的メソッドがたくさんある抽象クラスがありますが、それ以外のものはありません。クラス宣言はカバーされていませんでした。私はこれをJUnitテストメソッドで追加しました:

new AbstractClass() { 

}; 

クラス宣言が含まれていました。しかし、サブクラスがないので、JUnitテストの外でそれをカバーすることは別の問題です。

関連する問題