2013-01-21 10 views
5

私はEclipseの内部でEclEmmaを使用してJUnitコードの範囲をスキャンしています。これは正しく動作しますが、EclEmmaには私のsrc/viewフォルダをスキャンさせたくありません。なぜなら、テストに値するとは思わないSwingコードが含まれているからです。EclEmmaとEclipseを使用して特定のクラスのスキャンを無視するにはどうすればよいですか?

EclEmmaが実行されているときにこのフォルダを無視する方法はありますか?a)実行速度が速く、b)カバレッジ率を歪ませないでください。

EDIT:

マイプロジェクトの構造は次のとおりです。これらを使用している

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

:私はパスでこれらの(おそらく他の人)を試してみました

src/view 
src/model 
src/controller 

Preferences]ページでセクションをエントリ[設定]ページの[除外]セクション:

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

彼らはすべて私のsrcフォルダ全体を分析して同じ結果を残しています。

答えて

5

あなたはできspecify an exclude field

除く:実行 分析から除外されなければならないクラス名のリスト。リスト項目はコロン(:)で区切られ、 ワイルドカード文字(*と?)を使用することがあります。 (デフォルト:空)

しかし、クラスパスのマッチングにそのオプションを使用する方が簡単かもしれません:コンマは、そのクラスパスのエントリを持つ必要があります 一致文字列のリストを区切り:一致

のみパスエントリ。指定された文字列のいずれかが含まれているクラスパスエントリは、 フィルタと一致します。 (例えば "SRC /メイン/ javaの" 既定値:フィルタなし)

はSRCフォルダを無視する方法についてeclemma - how to ignore sourceを参照してください。

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

警告:あなたの設定は、クラスパスエントリのいずれかのプロジェクト(複数可)で と一致しない場合は、カバレッジモードでは、すべての新しい打ち上げが 空の分析を持っています範囲。

+1

おかげで、それは私が欲しいもののように見えます。残念ながら、Excludesでパターンcom.test.project.view。*を使用した場合、何かをexcluseしていないようです。編集:うわー、私はそれがクラス名を言ったことに気付かなかった... – sdasdadas

+0

これは正しい答えだと思うが、私はそれが実際にEclEmmaで動作するとは思わない。私は受け入れていますが、誰かがこれを読んでもらうと、クラスやパスを含める方法や除外する方法を理解できないことをご存じですか? – sdasdadas

+0

@sdasdadasご迷惑をおかけして申し訳ありませんが、あなたが試したことを投稿できますか?入力ミスがあった場合は、まったく動作しません。 – stevebot

6

[編集]メンテナは、一つのソースディレクトリレベルを除いて、することはできませんと言う:https://github.com/jacoco/eclemma/issues/70

私はeclemmaがファイルを除外していなかったと思った:それはあります。ちょうど私が思ったように。

たとえば、環境設定で除外してyour.classes.here。*を指定すると、そのクラスはあなたのコードをすべてカバーすることにはなりません。そのクラスは含まれません何がテストによってカバーされる必要があります。

試してみてください。カバレッジがあると分かっているクラスを除外してみてください。これを除外設定に設定すると、新しいカバレッジ実行時にカバレッジウィンドウに表示されますが、0%になり、すべて赤色になります。

むしろ役に立たないあなたは私に言わせれば。私はまだテストでカバーする必要があるクラスから名前でクラスを除外する適切なソリューションを探しています。

+1

私は同じ問題に直面している、これを解決する解決策がある –

1

私はそれが私はそれがやりたい事をすることができませんので、私はEclEmmaにあきらめたので、私は別の方法を使用する - それは他の誰を助け場合、私はここでそれを文書化します。

  1. テストからクラスを除外するには、すべてのテストクラスの名前を* Case.javaとし、SuiteClassesを使用してクラスを含めるか除外します。あなたは、私がMavenとCoberturaのを使用し、カバレッジを測定するためhttps://github.com/junit-team/junit4/wiki/Aggregating-tests-in-suites
  2. でそれについての詳細を読むことができます。これにより、テストスイートで指定されたファイルだけがテストされ、適切なカバレッジレポートが作成されます。
関連する問題