所以我尝试使用自定义构建变体mock来编写测试测试。在这个构建变体中,我模拟了我的类和服务器。当我尝试使用模拟构建时,它可以正常工作,但我似乎无法使用我的模拟构建进行测试。这是我在Android Studio中的配置。
我有一些问题让我的测试运行所以我试图卸载我的应用程序的所有版本,除了我的模拟版本,我不断收到此错误:
测试运行startedTest运行失败:无法找到检测目标包:com.teamtreehouse.review.debug
然而,当我尝试针对调试版本变体运行我的测试时,它工作正常。它安装我的调试版本然后继续运行测试。
答案 0 :(得分:49)
您可以对不同的构建版本进行测试;但只有一个。默认为debug。
看到这个: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing
目前只测试了一种Build Type。默认情况下,它是调试 构建类型,但可以使用以下命令重新配置:
android {
...
testBuildType "staging"
}
答案 1 :(得分:6)
AFAIK androidTest仅适用于调试buildType。
你可以使用构建风格来做你想做的事情,可以在这里找到一个很好的例子:https://www.code-labs.io/codelabs/android-testing/#0
答案 2 :(得分:1)
或者,您可以按以下方式配置 testBuildType ,以便您可以决定运行androidTest的任何构建类型,并从命令行指定相应的属性。
android {
...
if (project.hasProperty('androidTestRelease')) {
testBuildType 'release'
} else if (project.hasProperty('androidTestStaging')) {
testBuildType 'staging'
} else {
testBuildType 'debug'
}
...
}
从命令行
./gradlew connectedCheck -PandroidTestStaging