2017-12-07 141 views
0

StackOverflowのthis postEclEmma's documentationによると、カバレッジからのクラスの除外は非常に可能でなければなりません。ただし、「includes」フィールドは説明したとおりに機能しますが、「excludes」フィールドは機能しません。Eclipse [EclEmma]のカバレッジ除外は機能していませんか?

は、それぞれ以下のプロジェクト階層とカバレッジのランタイム設定してください:
project hierarchy

EclEmma

しかし、カバレッジの操作を実行した後、動作しない設定を除外する: enter image description here

1のとおり除外されたパッケージはまだ全体のカバレッジテストに含まれています。さらに、「含む」に「*」とマークし、「除外」にパッケージをマークすると、除外されません。 this issueGodlin's answerによると

​​

に述べたように残念ながら現在EclEmmaはレポートから除外をサポートしていません。しかし、この問題はよく歳を超えています。 私は何か間違ったことをしているか、この問題がまだ進行中であるかどうか尋ねていますか?これらの2つのフィールドが意図したとおりに機能しない場合は、どのような点を含める必要がありますか?

バージョン(S):

のEclipse:酸素放出(4.7.0)

答えて

1

私はこれらのフィールドは、現在どのように機能するかについて、そこに誤解されたと思います、しかし

理由"includes"フィールドは説明どおりに機能しますが、 "excludes"フィールドは機能しません。

この文も、あなたのスクリーンショットに示すように、フィールドが正しくありません「が含まれる」について - のみaudio.*linguistics.*が含まれている一方で、レポート内の他のパッケージがあります。なぜここ

とは、次のとおりです。これらのフィールドは、「カバレッジランタイム」についてであり、それぞれのoptions of JaCoCo agentに対応 - 彼らはそのバイトコード変更されるクラスを指定することができ、彼らは報告書の作成からクラスを除外/含まれていません。バイトコードが変更されていないクラスは、 "0%"のレポートで表示されます。コードカバレッジ解析から特定のクラスを除外する必要があるかもしれない技術的な理由

cited by you documentationに述べたように、このような仕様は、バイトコードの変更は、テスト対象のコードと干渉し、まれに便利です。次のオプションは、特定のクラスを分析から除外するようにカバレッジエージェントを設定します。 パフォーマンスの最適化やテクニカルコーナーの場合を除き、これらのオプションは通常必要ありません。

と以下の数行:

が警告: ...除外クラスはまだのようにカバーされていないと表示されます。

また、はい、レポートには除外項目はありません。

しかし、この問題は1歳以上です。

Eclipse EclEmmaプロジェクトはオープンソースなので、この機能を実装して後悔してください。

関連する問題