単体テストを使用して各テストのカバレッジを確認するときに、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 テスト以外でカバーすることは別の問題です。