単体テストを使用しているときにエマのカバレッジツールを使用して、各テストのカバレッジを確認しています。しかし、特定の行が一瞬抽象クラスのクラス宣言をカバーしません:eclipseでEmmaカバレッジツールを使用して特定の行を無視することはできますか?
public abstract class ... {
が、それはこのラインをカバーするためにエマを取得したりすることは可能ですどちらか - 好ましくは - それを無視しますか?
ありがとう、 アレクセイブルー。
単体テストを使用しているときにエマのカバレッジツールを使用して、各テストのカバレッジを確認しています。しかし、特定の行が一瞬抽象クラスのクラス宣言をカバーしません: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%笑って受け入れる方法を学ぶことができます:) –