Android Studio 仪器测试构建变体

32

我正在尝试使用自定义的构建变体mock编写仪器测试。在这个构建变体中,我模拟了我的类和服务器。当我尝试使用mock构建时,可以正常运行,但是我似乎无法将mock构建用于测试。以下是Android Studio中我的配置。

Build Variants

我在运行测试时遇到一些问题,所以我尝试卸载除了我的mock版本之外的所有应用程序版本,但我一直收到此错误:

测试运行开始,测试运行失败:无法找到测试目标软件包:com.teamtreehouse.review.debug

然而,当我尝试对debug构建变体运行测试时,它可以正常工作。它会安装我的debug版本,然后继续运行测试。

3个回答

77

@sunlir 你真是个救星! - Dinesh
您可以动态测试不同的构建类型。请参见我的答案 https://dev59.com/ZlwY5IYBdhLWcg3wkIYi#51719271 - shizhen

11

或者,您可以按照以下方式配置您的testBuildType,以便您可以决定从命令行运行任何androidTest构建类型,指定相应的属性。

android {   
    ...

    if (project.hasProperty('androidTestRelease')) {
        testBuildType 'release'
    } else if (project.hasProperty('androidTestStaging')) {
        testBuildType 'staging'
    } else {
        testBuildType 'debug'
    }
    ...
}
从命令行
./gradlew connectedCheck -PandroidTestStaging 

1
我在想为什么你需要编写这段代码,而不是为每个flavor块声明testBuildType。看起来目前不支持这样做,因为Gradle总是考虑最后一个testBuildType(无论它放在哪里)。 - JCarlosR

7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接