2012-01-24 12 views
4

パブリックコンストラクタの呼び出しをテストするとき、アプリケーションのJUnitテストでは、テストメソッド内で使用されない一時オブジェクトが生成されます。コンパイラはその後、未使用のオブジェクトの割り当てについて不平を言う。すべてのJUnitテストでコンパイラの警告を選択的に抑制する方法はありますか?テストは別のパッケージになっています。JUnitテストでコンパイラの警告を表示しない

+0

チェックこの:http://stackoverflow.com/questions/593996/how-to-suppress-java-compiler-warnings-for-specific-functions – user47900

+0

@おかげuser47900が、私はより多くを期待していましたグローバルなアプローチ(パッケージレベルの抑制)。しかし、このソリューションはおそらくより安全で一般的に推奨されています。 – Petr

+0

javac -nowarn。特定のパッケージのオプションがあるかどうかはわかりません。 – user47900

答えて

5

私は答えがいいえ、パッケージレベルではないと思います。私は "不正行為"し、テスト目的のために私の内側のオブジェクトをprotectedと定義する傾向があります。それは、少なくとも"unused"警告を回避します:

protected static class TestFoo { 
    ... 
} 

の@ user47900が指摘したように、あなたは明らかに1つの警告を回避するためにSuppressWarningsアノテーションを使用することができますが、それらは通常、クラスごとに定義する必要があり、すべての内部クラスをカバーすることはできませんパッケージもありません。

@SuppressWarnings("unused") 
private static class TestFoo { 
    ... 
} 
+0

保護された素晴らしいトリック。 – user949300

関連する問題