Android Studio Instrumentation测试构建变体

MrE*_*r13 22 android-testing android-studio android-espresso android-instrumentation

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

构建变体

我有一些问题让我的测试运行所以我试图卸载我的应用程序的所有版本,除了我的模拟版本,我不断收到此错误:

测试运行startedTest运行失败:无法找到检测目标包:com.teamtreehouse.review.debug

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

小智 56

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

见:http: //tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing

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

android {
    ...
    testBuildType "staging"
}
Run Code Online (Sandbox Code Playgroud)


小智 7

AFAIK androidTest仅适用于调试buildType.

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


shi*_*hen 7

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

android {   
    ...

    if (project.hasProperty('androidTestRelease')) {
        testBuildType 'release'
    } else if (project.hasProperty('androidTestStaging')) {
        testBuildType 'staging'
    } else {
        testBuildType 'debug'
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

从命令行

./gradlew connectedCheck -PandroidTestStaging 
Run Code Online (Sandbox Code Playgroud)