我正在尝试使用Spoon运行我的测试。
根据设置指南,我找到了https://github.com/stanfy/spoon-gradle-plugin,我为项目设置了一些简单的更改。
首先:我在root build.gradle文件中添加了依赖项:
buildscript {
repositories {
jcenter()
mavenCentral()
(...)
}
dependencies {
(...)
classpath 'com.stanfy.spoon:spoon-gradle-plugin:1.0.2'
}
}
allprojects {
repositories {
jcenter()
mavenCentral()
}
}
第二:在我的app包build.gradle中,我添加了:
apply plugin: 'spoon'
依赖:
androidTestCompile 'com.squareup.spoon:spoon-client:1.1.9'
并指定我想使用调试版本:
spoon {
debug true
}
第三:我转到终端,将目录设置为我的项目根目录并调用
./gradlew spoon
我收到此输出和错误。可能导致这种情况的原因是什么?
2015-10-20 17:28:12 [SR.runTests] Executing instrumentation suite on 1 device(s).
2015-10-20 17:28:12 [SR.runTests] Application: com.azimo.sendmoney.debug1 from /Users/F1sherKK/Dev/Azimo-Android/app/build/outputs/apk/app-debug.apk
2015-10-20 17:28:12 [SR.runTests] Instrumentation: com.azimo.sendmoney.debug1.test from /Users/F1sherKK/Dev/Azimo-Android/app/build/outputs/apk/app-debug-androidTest-unaligned.apk
2015-10-20 17:28:12 [SR.runTests] [1903cdc7] Starting execution.
2015-10-20 17:28:12 [SDR.run] InstrumentationInfo: [com.squareup.spoon.SpoonInstrumentationInfo@7baf516e[applicationPackage=com.azimo.sendmoney.debug1,instrumentationPackage=com.azimo.sendmoney.debug1.test,testRunnerClass=android.support.test.runner.AndroidJUnitRunner]]
2015-10-20 17:28:12 [SDR.run] Got realDevice for [1903cdc7]
2015-10-20 17:28:12 [SDR.run] [1903cdc7] setDeviceDetails com.squareup.spoon.DeviceDetails@22444900[model=GT-I9505,manufacturer=samsung,version=5.0.1,apiLevel=21,language=en,region=GB,isEmulator=false,avdName=<null>]
2015-10-20 17:28:12 [SR.runTests] [1903cdc7] Execution done.
:app:spoonDebugAndroidTest FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:spoonDebugAndroidTest'.
> com.android.ddmlib.IDevice.installPackage(Ljava/lang/String;Z[Ljava/lang/String;)Ljava/lang/String;
答案 0 :(得分:0)
这为我解决了这个问题:
classpath 'com.squareup.spoon:spoon-runner:1.2.0'
classpath('com.stanfy.spoon:spoon-gradle-plugin:1.0.3') {
exclude module: "guava"
}
一些背景: https://github.com/stanfy/spoon-gradle-plugin/issues/74
答案 1 :(得分:0)
我知道是什么原因导致了我的错误。要删除:
com.android.ddmlib.IDevice.installPackage(Ljava/lang/String;Z[Ljava/lang/String;)Ljava/lang/String
我不得不改变我的gradle构建工具。我以前用过:
classpath 'com.android.tools.build:gradle:1.4.0-beta2'
我不得不将其更改为:
classpath 'com.android.tools.build:gradle:1.3.1'
要重新创建问题,您可以从gradle-plugin git示例项目中获取。有:
classpath 'com.android.tools.build:gradle:1.2.2'
使用。在将其更新为1.4.0后,它会产生与我相同的错误。我测试过:1.3.1有效,1.4.0beta2-beta6到目前为止给出错误。
编辑: 更新了跑步者和勺子客户端后修复了错误。使用:
androidTestCompile 'com.squareup.spoon:spoon-client:1.2.1'
和
classpath 'com.squareup.spoon:spoon-runner:1.2.1'