29

因此,我正在尝试使用自定义构建变体 mock 编写仪器测试。在这个构建变体中,我模拟了我的类和服务器。当我自己尝试使用模拟构建时,它工作正常,但我似乎无法使用我的模拟构建进行测试。这是我在 Android Studio 中的配置。

构建变体

我在运行测试时遇到了一些问题,所以我尝试卸载我的应用程序的所有版本,除了我的模拟版本,我一直收到这个错误:

测试运行开始测试运行失败:找不到检测目标包:com.teamtreehouse.review.debug

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

4

3 回答 3

70

可以对不同的构建变体进行测试;但只有一个。默认为调试。

看到这个: https ://developer.android.com/studio/build/gradle-tips#change-the-test-build-type

目前只测试了一种构建类型。默认情况下,它是调试构建类型,但可以重新配置:

android {
    ...
    testBuildType "staging"
}
于 2016-01-13T23:07:56.523 回答
8

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

android {   
    ...

    if (project.hasProperty('androidTestRelease')) {
        testBuildType 'release'
    } else if (project.hasProperty('androidTestStaging')) {
        testBuildType 'staging'
    } else {
        testBuildType 'debug'
    }
    ...
}

从命令行

./gradlew connectedCheck -PandroidTestStaging 
于 2018-08-07T05:16:44.290 回答
7

AFAIK androidTest 仅适用于调试 buildType。

你可以使用构建风格来做你想做的事,一个很好的例子可以在这里找到:https ://www.code-labs.io/codelabs/android-testing/#0

于 2015-11-25T16:28:14.130 回答