私は現在、プロジェクトのテストカバレッジを向上させるために取り組んでいます。それは約93%で、私は100%に向かって作業しています。私はJacocoで100%テストカバレッジを目指すべきですか?
私がカバーされていないブロックの一つは、メインメソッドであることに気付き、それは次のようになります。アプリケーションは、90以上のテストを持っており、@SpringBootTest
注釈といくつかのにもかかわらず
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
、このメインメソッドはまだカバーされていません。
私はこれについて心配し、100%カバレッジを取得する必要がありますか?あるいは、私は完璧主義者でありすぎて、のものは、上記の例のようにをテストする価値がないのですか?
上記のコードがテストで実行されていないのはなぜですか?それを実行するためにmainメソッドを明示的に呼び出す必要がありますか?アプリケーションの起動時に呼び出されることを期待していました。
このメソッドをテストしますか? argsパーサーは春に動作するのですか?それがApplicationクラスを見つけましたか? –
私はそれを見て、回帰テストのより多くのものになるでしょう。誰かがそのメソッドにいくつかのコードを追加して、そのメソッドを誤動作させる場合。それは理にかなっていますか?そうでない場合は、このメソッドをテストしないままにして、何とか無視するようにジャココに指示する必要がありますか? – Doug
あなたは、この努力によって得られた実際の利益をカバーしていません。通常は、アプリケーションをコードではなく実行可能ファイルとして扱う高レベルのテストで、このような場所をテストしたいと思うでしょう。また、カバレッジ自体は何も証明していません。テスト中にコードが実行されただけで、正しいかどうかは分かりません。ちょっとしたメトリックです。 – Etki