@VisibleForTesting() 函数在使用时不会触发生产代码的编译错误

Ely*_*lye 6 java android unit-testing kotlin

对于 Android 应用程序,我尝试@VisibleForTesting()按照https://developer.android.com/reference/android/support/annotation/VisibleForTesting 使用

@VisibleForTesting()
void myFunction(String id) {
    doSomething(id);
}
Run Code Online (Sandbox Code Playgroud)

对 Java 和 Kotlin 代码都进行了尝试。

我明确地让生产调用了用@VisibleForTesting(). 当我编译时,我没有看到任何错误或警告会阻止我在生产代码中使用它。

我错过了什么吗?

gma*_*zzo 7

这将由 Android 的 Lint 断言,并且默认为警告。

您可以通过增加以下错误的严重级别来改变这一点build.gradle

android {
    lintOptions {
        error("VisibleForTests")
    }
}
Run Code Online (Sandbox Code Playgroud)