Инструментальные тесты с использованием ошибки настройки Spoon

Я пытаюсь запустить свои тесты с использованием Spoon.

Согласно руководству по установке, которое я нашел там: https://github.com/stanfy/spoon-gradle-plugin , я внес несколько простых изменений в свой проект.

Во-первых: я добавил зависимость в свой корневой файл build.gradle:

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        (...)
    }
    dependencies {
        (...)
        classpath 'com.stanfy.spoon:spoon-gradle-plugin:1.0.2'
    }
}

allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}

Во-вторых: в пакете моего приложения 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;

person F1sher    schedule 20.10.2015    source источник


Ответы (2)


это решает это для меня:

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

person ligi    schedule 20.10.2015
comment
Здравствуйте, спасибо за ответ. Я видел эту тему сегодня уже. Перепробовал все комбинации, а также ваш код. К сожалению, мой вывод не меняется, независимо от того, что я делаю: com.android.ddmlib.IDevice.installPackage(Ljava/lang/String;Z[Ljava/lang/String;)Ljava/lang/String; всегда есть. - person F1sher; 20.10.2015
comment
вы добавили: 'com.squareup.spoon:spoon-runner:1.2.0'? а чистку делал? - person ligi; 20.10.2015
comment
Я добавил. Я не выполнял чистый, поэтому я попробую еще раз. Раньше я делал только синхронизацию Gradle. Вопрос в том, почему вы исключаете гуаву, вы ее тоже добавляете? Например: classpath 'com.google.guava:guava:17.0' где-то? - person F1sher; 20.10.2015
comment
Получил вывод. После добавления «com.squareup.spoon:spoon-runner:1.2.0» и выполнения очистки вывод не меняется. - person F1sher; 20.10.2015

Я знаю, что вызвало ошибку в моем случае. Удалить:

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'

Чтобы воссоздать проблему, вы можете извлечь из примера проекта git gradle-plugin. Есть:

 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'
person F1sher    schedule 21.10.2015