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

标签 java android unit-testing kotlin

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

@VisibleForTesting()
void myFunction(String id) {
    doSomething(id);
}

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

我明确地让生产调用用 @VisibleForTesting() 注释的公共(public)函数。当我编译时,我没有看到任何阻止我在生产代码中使用它的错误或警告。

我错过了什么吗?

最佳答案

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

您可以通过在 build.gradle 中将严重级别提高到错误来更改它:

android {
    lintOptions {
        error("VisibleForTests")
    }
}

关于java - @VisibleForTesting() 函数在使用时不会触发生产代码的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53808131/

相关文章:

java - 如何在 Spring MVC 中的 url 中进行包含项目名称的重定向?

java - 高级自定义 Swing 组件

android - GridView 没有创建正方形

java - TextView 在应用程序中不可点击

java - Kotlin 单元测试变量声明 Lateinit、Lazy、可为 null 与不可为 Null

java - 是否可以将不同类型添加到 Java 中的单个数组列表?

java - 如何实例化一个HashMap<K, V>?

java - 设置 viewPager.setCurrentItem 时出现 NullPointerException

python - unittest.Mock - 结合 return_value 和 side_effect

node.js - 单元测试 C++ v8 插件