Android测试模块(Gradle Plugin 1.3)不起作用:"找不到调试类"

The*_*lle 24 android android-testing android-studio android-gradle-plugin

我正在尝试设置一个单元测试模块,如android studio博客文章中所述.但是,执行gradle构建失败告诉我"找不到名为'debug-classes'的配置".Debug是它试图构建的targetVariant的名称,但我不明白这里出了什么问题.

这是我的测试模块的gradle文件.

apply plugin: 'com.android.test'

android {
compileSdkVersion 22
buildToolsVersion "22.0.1"

targetProjectPath ':app'
targetVariant 'debug'
}    
Run Code Online (Sandbox Code Playgroud)

这是描述新测试模块功能的博客文章. http://android-developers.blogspot.com/2015/07/get-your-hands-on-android-studio-13.html

我正在使用Gradle插件v1.3.0

ben*_*fiz 22

我也很好奇分离应用程序代码和测试代码,我很难搞清楚.我查看堆栈跟踪,发现DependencyManager(第238行)有一个TODO来解决它在gradle中的问题.

1)你对构建口味是正确的.你必须输入正确的变体

targetVariant '<flavor>Debug'
Run Code Online (Sandbox Code Playgroud)

例如

targetVariant 'flavor1Debug'
Run Code Online (Sandbox Code Playgroud)

2)您还需要更改targetProjectPath的模块build.gradle.添加以下代码段:

android {

    // ...

    publishNonDefault true

    // ...

}
Run Code Online (Sandbox Code Playgroud)

它发布所有构建变体!由于gradle的某些限制,它默认为禁用.


box*_*box 5

这是一个有效的示例应用程序https://github.com/googlesamples/android-testing-templates/tree/master/AndroidTestingBlueprint

你必须使用

buildToolsVersion = '23.0.0rc3'
Run Code Online (Sandbox Code Playgroud)

而且当然

publishNonDefault true
Run Code Online (Sandbox Code Playgroud)