【问题标题】:IntelliJ warning: Unchecked generics array creation for varargs parameterIntelliJ 警告:为 varargs 参数创建未经检查的泛型数组
【发布时间】:2018-06-09 22:49:05
【问题描述】:

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

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

表示编译器发出未经检查的警告的地方

我所做的只是:

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

【问题讨论】:

  • 如果提供更多上下文会更容易,例如模拟方法的签名或传递参数的声明。

标签: java intellij-idea junit mockito


【解决方案1】:

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

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

那么编译器应该正确推断类型。

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

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

请参阅official Mockito documentation 以获取使用thenThrow 的此类示例。文档在这一点上非常清楚。

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

How to mock and assert a thrown exception

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-03
    • 2013-07-14
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多