【问题标题】:New build type: How to include androidTestCompile for that?新构建类型:如何为此包含 androidTestCompile?
【发布时间】:2018-02-16 22:35:04
【问题描述】:

我添加了一个名为“debug_test”的新构建类型,其中有一些BuildConfig 差异用于测试。虽然当我切换到此构建类型时我可以运行所有本地单元测试,但我无法运行检测测试,实际上,当设置为“debug_test”时我什至无法构建检测测试(各种符号不存在)。

对于我的新构建类型,:app:generateDebugAndroidTestSources 等似乎没有执行。

调试运行:

Executing tasks: [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar]

而 debug_test 运行:

Executing tasks: [:app:generateDebug_testSources, :app:mockableAndroidJar]

我有点难以掌握我必须做的事情,主要是因为我不明白哪些操作是为调试隐式完成的,而我也需要为 debug_test 做这些操作。我是否需要在我的应用级 build.gradle 文件中明确定义对 generateDebugAndroidTestSources 的任务依赖?

提示赞赏。

【问题讨论】:

    标签: java android gradle android-studio-3.0


    【解决方案1】:

    这个帖子Android instrumented unit testing Cannot resolve symbol 'AndroidJUnit4' 有答案。

    您似乎只能拥有一种已检测的测试配置。 这篇文档https://developer.android.com/studio/build/gradle-tips.html#change-the-test-build-type 简要提到了这一点,但含义并不明确。

    您在应用的 gradle 文件中的 android 配置如下所示:

    android {
        ...
        defaultConfig {
            ...
        }
    
        testBuildType "debug" // This is not in the gradle file but this is implicitly set
    
        buildTypes {
            release {
                ...
            }
    
            debug {
    
            }
    
            debug_test {
    
                debuggable true
                signingConfig signingConfigs.debug
            }
        }
    }
    

    因此,要更改编译检测测试的配置,必须将行 testBuildType <my_config> 添加到 android 配置集中。

    如果有办法查看所有这些隐式选项,那就太好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      相关资源
      最近更新 更多