6

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

private Foo foo;

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

从未分配私有字段“foo”

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

@Mock private Foo foo;

警告消失并将该字段呈现为紫色以表明它已被分配。IDE 怎么知道这@Mock意味着什么?我查看了 Mockito 源代码,注释定义上似乎没有任何内容,而且我的 IDE 没有 Mockito 插件。

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

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

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

4

1 回答 1

7

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

在intellij-community代码库中快速搜索“org.mockito.Mock”会发现JUnitEntryPoint类,该类插入“deadCode”扩展点。

通过这种机制贡献的入口点依次由UnusedDeclarationInspection等检查查询。

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

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

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

于 2013-11-02T01:39:34.193 回答