当前位置: 首页 > 知识库问答 >
问题:

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

韩瀚
2023-03-14

IntelliJ Idea对我的测试用例中的一个语句发出以下警告。

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

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

我所做的就是:

ervice.some方法(id)). thenThrow(AcCountNotFoundException.class)

共有1个答案

楚威
2023-03-14

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

when(someService.someMethod(id)).thenThrow(new AccountNotFoundException());

然后编译器应该正确推断类型。

如果某项服务。someMethod(id)具有返回类型void,您可以执行以下操作:

doThrow(new AccountNotFoundException()).when(someService).someMethod(id);

请使用然后使用throw参考官方Mockito文档中的示例。文件在这一点上非常清楚。

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

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

 类似资料:
  • 问题内容: 我已将Netbeans设置为在我的Java代码中显示未经检查的警告,但是我无法理解以下几行的错误: 给出: 方法来源: 到底出了什么问题,我想如何解决呢?因为我认为在代码中留下未经检查的警告不是一个好主意? 忘了提,但我使用的是Java 7。 编辑 :我现在也看到该方法具有以下内容: 问题答案: 如上面的janoh.janoh所述,Java中的varargs只是数组的语法糖,以及在调用

  • 我大致了解什么是类型擦除以及为什么我们会遇到未经检查的警告。但是,我不明白为什么在以下情况下只发出一个未经检查的警告: 不幸的是,两个接听电话都与大小写子句匹配。编译器确实为第一个子句发出了警告: 警告:未检查类型模式列表[Double]中的非可变类型参数Double,因为它已被擦除消除。 我知道TypeTag[T]可以用来实现更好的类型安全。但是我在这里关心的是为什么没有针对第二个case子句发

  • 问题内容: 不知何故,我的旧问题已关闭,因此我打开了一个新问题: 我正在使用Java泛型从SQL查询中实现泛型双向Hash Map。它应该能够来回映射String,Integer对的任何组合。应该这样使用: 当然应该可以创建一个pm(Integer,Integer)等等。 我选择地图的实现如下所示(没有getter …): 我没有编译器错误,而且我很确定,它将以这种方式工作。但是我在“ getIn

  • 我不明白为什么我收到以下代码的警告: 未选中对<code>isAssignableFrom(类)的调用 当我使用< code>isInstance方法时(根据我的理解,它提供相同的结果),我没有得到警告:

  • 假设我有一个map。现在我只想从中获取条目并创建一个新的map与这些条目。 我正在尝试做以下事情: 这似乎可行,但我得到了一个警告:类型模式(String,Int)中的非变量类型参数字符串未选中,因为它已被擦除消除。 我怎样才能摆脱警告?