5

私は EclEmma (Eclipse 内) を使用して、JUnit コード カバレッジをスキャンしています。src/viewこれは正しく機能しますが、テストに値しないと思われる Swing コードが含まれているため、EclEmma にフォルダーをスキャンさせたくありません。

EclEmma の実行時にこのフォルダーを無視する方法はありますか?

編集:

私のプロジェクトの構造は次のとおりです。

src/view
src/model
src/controller

環境設定ページのパスエントリセクションでこれら(おそらく他のもの)を試しました:

"src/view"
"src/view/*"
"view"
"view/*"
src/view

これらは、[設定] ページの [除外] セクションを使用しています。

*
*View*
*View*.class
src/view/*View*
src/view/*View*.class

それらはすべて、srcフォルダー全体を分析した結果と同じです。

4

3 に答える 3

5

除外フィールドを指定できます:

除外: 実行分析から除外する必要があるクラス名のリスト。リスト エントリはコロン (:) で区切られ、ワイルドカード文字 (* および ?) を使用できます。(デフォルト: 空)

ただし、クラスパス マッチングのオプションを使用する方が簡単な場合があります。

一致するパス エントリのみ: クラスパス エントリと一致する必要がある文字列のコンマ区切りリスト。指定された文字列のいずれかが含まれている場合、クラスパス エントリはフィルタに一致します。(例: "src/main/java"、デフォルト: フィルターなし)

src フォルダーを無視する方法については、eclemma - ソースを無視する方法を参照してください。

また、彼らの注意に注意してください、

警告: 設定がプロジェクト内のどのクラスパス エントリとも一致しない場合、カバレッジ モードで新しく起動するたびに空の分析スコープが設定されます。

于 2013-01-21T22:57:50.250 に答える
1

私は EclEmma をあきらめました。やりたいことを実行させることができないためです。別の方法を使用します。他の人に役立つ場合に備えて、ここに文書化します。

  1. クラスをテストから除外するには、すべてのテスト クラスに *Case.java という名前を付けてから、SuiteClasses を介してそれらを含めたり除外したりします。詳細については、https://github.com/junit-team/junit4/wiki/Aggregating-tests-in-suitesをご覧ください。
  2. カバレッジを測定するには、Maven と Cobertura を使用します。これにより、テスト スイートで指定されたファイルのみがテストされ、それに応じてカバレッジ レポートが生成されます。
于 2017-01-13T11:27:48.143 に答える