Maven (2) Cobertura プラグインを使用してコード カバレッジに関するレポートを作成しています。メソッドで使用している次のスタブがあります。
try {
System.exit(0);
} catch (final SecurityException exception) {
exception.printStackTrace();
}
System.err.println("The program never exited!");
例外などをログに記録する必要があることはわかっていますが、それは今のポイントではありません... Cobertura は、スタック トレースが出力された後の行がカバーされていることを認めることを拒否しています。つまり、System.err.println
ステートメントの前に「}」が付いている行は、カバーされているものとして表示されていません。以前は、メソッドの終了中かっこはカバーされているものとして表示されていなかったため、System.err
ステートメントが表示されていました。cobertura の maven プラグインに、System.err.println
ステートメントがカバーされているため、終わりのブレースがカバーされている必要があることを納得させる方法はありますか?
そうそう、モック セキュリティ マネージャーを使用してセキュリティ例外をスローします。これは、System.exit
呼び出し後にテストを実行し続けるための最も簡単な方法であるためです。