IntelliJ:如果我调用以@VisibleForTesting注释的方法,则会收到警告

时间:2019-05-02 12:06:40

标签: java unit-testing intellij-idea junit visibility

我有以下用例:

我想对一个私有方法进行单元测试(我真的很想)。 现在,有不同的方法,但是我想选择“使方法包私有”的方法。

在番石榴中,有一个名为@VisibleForTesting的注释。我想做的是: 每当从另一个类(当然,在同一个包中)调用该方法时,无论它是否是该类的子类,都将显示警告,例如“嘿哥们,您要调用的方法已标有@VisibleForTesting,确定要调用它吗?”。

我和custom inspections打过比赛,但到目前为止还没有运气。有人有主意吗?

1 个答案:

答案 0 :(得分:1)

不需要自定义检查,内置了必要的检查。请转到 Preferences | Editor | Inspections并启用检查 Java | General | Test-only class or method call in production code。现在,如果您尝试从生产代码而不是测试代码中调用带有@VisibleForTesting批注的成员,则会收到警告。