我应该在@SuppressWarnings("....")
中使用什么字符串来删除我在使用varargs的方法的单元测试中得到的警告:
/**
* Calling {@link #readFiles(String, String...)} with just one arg and a null
* works, but you have to do a null check on the varargs in case it is null.
*/
@Test
public void callMethodWithOneArgAndNull() {
readFiles("C:/Temp", null);
}
Eclipse为此提供了以下警告:
null类型的参数应明确地转换为String [] 从中调用varargs方法readFiles(String,String ...) 键入TestVarArgs。也可以将它转换为String varargs调用
这很好;这是预料之中的。我也是单元测试当我抛出null时会发生什么。
但是为了这个单一测试的目的,我想要压制那个特定的警告,即我不想使用@SuppressWarnings("all")
。我已经尝试了this answer到What is the list of valid @SuppressWarnings warning names in Java?中提到的每个字符串,但它们似乎都没有发现这个警告。
答案 0 :(得分:2)
据我了解,这不是您可以使用特定注释抑制的警告。你必须进行明确的演员才能使警告消失 - 或者禁止所有警告。
另外,考虑测试两种可能的强制转换,即(String[]) {null}
和(String) null
,以确保您的方法不会阻塞“无文件”或“空文件名”输入。
答案 1 :(得分:0)
您可以使用@supresswarnings(未选中)注释。