2012-01-24 153 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指出,可以很明显的使用SuppressWarnings注释绕过一个警告,但他们通常需要每类来定义并不能涵盖所有的内部类也没有包。

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

与受保护的好戏法。 – user949300