我关注了this guide在 Android Studio v1.4 中为我的主要 Android 模块(我们称之为“module-a”)创建一个 JUnit 测试文件。
我的“module-a”依赖于作为 .aar
文件提供的外部库,我必须为此创建一个专用模块。
此依赖导致错误:
当右键单击测试 Java 文件并点击 "Run MyTestName"时,它会失败并出现此错误
Error:Gradle:
FAILURE: Build failed with an exception.
* What went wrong:
Task 'testClasses' not found in project ':module-b'.
去掉对module-b的依赖就解决了问题。
module-a build.gradle 的摘录:
compile project(':module-b')
module-b build.gradle:
configurations.create("default")
artifacts.add("default", file('library-b.aar'))
我应该如何配置 Gradle,使其不会尝试在 "module-b"上运行 testClasses
任务? (这应该可以解决我的问题)
最佳答案
我没有找到跳过 module-b 的 testClasses
任务的方法:似乎从 Android Studio 开始的操作(如运行 JUnit 测试)运行无法修改的 Gradle 命令。就我而言:
Information:Gradle: Executing tasks:
[:module-a:prepareFree_flavorDebugUnitTestDependencies,
:module-a:generateFree_flavorDebugSources,
:module-a:mockableAndroidJar,
:module-a:assembleFree_flavorDebug,
:module-a:assembleFree_flavorDebugUnitTest,
:module-b:testClasses]
不过,我找到了解决问题的方法:
将以下代码添加到module-b build.gradle:
task testClasses {
doLast {
println 'This is a dummy testClasses task'
}
}
关于Android:跳过依赖项项目的 Gradle "testClasses"任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33132996/