android - 通过Gradle执行本地单元测试时,为什么BuildConfig.DEBUG设置为false?

标签 android unit-testing android-studio gradle build.gradle

内容:

我的一个本地单元测试调用了我正在测试的方法,该方法的逻辑依赖于“BuildConfig.DEBUG”是对还是错。

题:

我注意到,当我使用绿色播放按钮BuildConfig.DEBUG在 Android Studio中运行单元测试时,正如预期的那样为“true”。这可能是因为我将构建变体设置为调试。

但是,当我使用“./gradle test”之类的命令通过终端运行相同的测试时,它设置为false。

这是预期的行为,为什么?

最佳答案

我假设您有两种口味,debugrelease
如果运行./gradlew test,它将运行两个测试任务testDebugUnitTesttestReleaseUnitTest

有简单的测试用例,如下所示。

@Test fun test() {
    assertTrue(BuildConfig.DEBUG)
}

它将在testDebugUnitTest任务中成功,而在testReleaseUnitTest任务中失败。test任务也会失败。
因为test任务取决于testReleaseUnitTest

关于android - 通过Gradle执行本地单元测试时,为什么BuildConfig.DEBUG设置为false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57579970/

相关文章:

java - 如何在 exo 播放器中显示 youtube 视频?

android - 使用 onTouchEvent Android 旋转、缩放/缩放、拖动位图

c++ - 如何 stub /模拟 const 函数

android - 膨胀类 android.support.v7.widget.Toolbar 时出错。我的错误或错误?

java - 如何设置.so文件的绝对路径?

Android:java.lang.IllegalArgumentException:有效负载项类型无效

sql-server - 我如何知道 SQL 全文索引填充何时完成?

unit-testing - Mocha/Karma - 如何测试 CSS 属性

java - 列出android中下载目录中的文件

java - 仅当按下按键时动画出现,不按下任何按键时图像消失