IntelliJ警告:为varargs参数创建未选中的泛型数组

nit*_*rma 4 java junit intellij-idea mockito

IntelliJ Idea为我的测试用例中的一个语句提供以下警告.

警告:为varargs参数创建未经检查的泛型数组

表示编译器发出未经检查的警告的位置

我所做的只是:

when(someService.someMethod(id)).thenThrow(AccountNotFoundException.class)

Dav*_*son 6

实现这一目标的更好方法可能是:

when(someService.someMethod(id)).thenThrow(new AccountNotFoundException());
Run Code Online (Sandbox Code Playgroud)

那么编译器应该正确地推断出类型.

如果someService.someMethod(id)有返回类型,void你可以这样做:

doThrow(new AccountNotFoundException()).when(someService).someMethod(id);
Run Code Online (Sandbox Code Playgroud)

有关此类示例,请参阅官方Mockito文档thenThrow.关于这一点,文档非常清楚.

您还可以检查以下StackOverflow问题,该问题非常相似(如果不是完全相同的话):

如何模拟和断言抛出的异常