为什么没有"field is never assigned"警告与@Mock



如果在测试类中声明私有字段:

private Foo foo;

它被使用但从未分配,当我将鼠标悬停在声明上时,IntelliJ IDEA(可能还有其他 IDE)会显示警告,并将其呈现为灰色

从不分配私有字段"foo"

但是,如果我使用 Mockito 并注释该字段,例如:

@Mock private Foo foo;

警告消失,并将字段呈现为紫色,以指示已分配。IDE 如何知道@Mock的含义?我浏览了 Mockito 源代码,注释定义上似乎没有任何内容,我的 IDE 也没有 Mockito 插件。

我正在编写一个类似于 Mockito 的库,带有等效的注释,我很想知道让 IDE 删除警告。

(我不是Java开发人员,所以如果我说错了什么,请纠正我)

编辑我已经在 Eclipse 中尝试过这个,它实际上删除了带有任何注释的警告,这就是@nikpon建议的。

IntelliJ IDEA中的"未使用符号"检查对此注释具有特殊配置。

在 intellij-community 代码库中快速搜索"org.mockito.Mock"会显示 JUnitEntryPoint 类,该类插入到"deadCode"扩展点。

通过此机制提供的入口点反过来又由未使用申报检查等检查查询。

请注意,检查有一个配置窗格,您可以在其中配置其他自定义注释,以防止字段被标记为未使用。

您可以从设置->检查访问此配置,然后按名称搜索"未使用的符号"检查:"未使用的符号"检查配置的屏幕截图

为方便起见,您还可以直接导航到这些设置,方法是在插入符号位于 IDEA 标记为未使用的字段上时调用 Alt-Enter:通过在未使用的字段上调用 Alt-Enter 来访问"未使用的符号"设置的屏幕截图

相关内容

最新更新