Cómo utilizar gradle-android-test-plugin

Quiero que Robolectric trabaje con Android Studio y estoy intentando usar [gradle-android-test-plugin] [1] después de revisar las respuestas a esta [pregunta] [2], pero no tengo suerte.

  1. Creé un nuevo proyecto Android y lo nombré MyApp.
  2. Seguí todas las instrucciones en la sección "Uso" del README.
  3. Todavía no tenía ningún código para probar en mi nuevo proyecto, así que copié las clases (incluyendo el `RobolectricGradleTestRunner`) del
gradle-android-test-plugin/example/src/test/java/com/example 

y el

 gradle-android-test-plugin/example/src/main/java/com/example 

Directorios en las rutas de archivo correspondientes en mi nuevo proyecto MyApp.

Nunca he implementado la prueba de unidad para Android antes y no sé qué hacer a continuación. ./gradlew install correctamente ./gradlew install en el directorio raíz del plugin, pero haciendo lo mismo en el directorio raíz de mi nuevo proyecto no logra nada. Se lanza esta queja:

 Task 'install' is ambiguous in root project 'MyApp'. Candidates are: 'installDebug', 'installTest'. 

No estoy familiarizado con Gradle, tan corto de leer un libro de texto sobre Gradle, no estoy seguro de cómo resolver este problema.

Si entro en el directorio de MyApp que contiene AndroidManifest.xml e intento el ../gradlew clean check para construir y ejecutar las pruebas, consigo este error:

 Could not determine the dependencies of task ':MyApp:testDebug'. 

Android Studio no parece tener problemas para encontrar mis dependencias. ¿Puede alguien señalarme en la dirección de ejecutar mis pruebas, por favor? Me imagino que es un comando de terminal simple o algo que no fue mencionado en el plug-in de README. ¡Aclamaciones!

editar:

Aquí está mi build.gradle . Soy consciente de que no es estructuralmente idéntica a la del proyecto de ejemplo incluido con el complemento, pero esa estructura me dio errores idénticos.

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' classpath 'com.squareup.gradle:gradle-android-test-plugin:0.9.+' } } apply plugin: 'android' apply plugin: 'android-test' repositories { mavenCentral() } android { compileSdkVersion 18 buildToolsVersion "18.0.1" defaultConfig { minSdkVersion 11 targetSdkVersion 18 } } dependencies { compile 'com.android.support:support-v4:18.0.0' testCompile 'junit:junit:4.11' testCompile 'org.robolectric:robolectric:2.1.+' testCompile 'com.squareup:fest-android:1.0.+' } 

Edit2: Además del hecho de que estaba emitiendo los comandos equivocados (como se indica en la respuesta de Ravindra), también no llegué a darse cuenta de que mi versión de Gradle era demasiado nueva (como señala el comentario de Jake).

No hay ninguna tarea de instalación pero hay dos tareas que están prefijadas con la instalación. Usted tiene que proporcionar el nombre de la tarea completa o por lo menos lo suficiente para que Gradle averigüe de cuál de ellos está hablando (por ejemplo, installD, iD, o la cosa completa installDebug funcionará)

https://github.com/square/gradle-android-test-plugin/issues/6#issuecomment-22881923

Para la lista de tareas disponibles ejecutar desde la carpeta del proyecto principal

 gradle tasks 

Para pruebas

 gradle tests 

Desde el código del complemento, parece que deberías ejecutar el ./gradlew test para que se ejecuten las pruebas

  • Osx maven running tests Excepción: java.lang.OutOfMemoryError lanzado desde el UncaughtExceptionHandler en el subproceso "main"
  • Robolectric dice "AndroidManifest.xml no encontrado"
  • Robolectric + Gradle falla cuando se inicia la prueba
  • Robolectric With Gradle:. \ Res \ values ​​no es un directorio
  • Robolectric includeAndroidResources not found
  • Las pruebas de Robolectric lanzan RuntimeException: java.lang.ClassNotFoundException
  • Gradle Robolectric Resources NotFoundException en pruebas
  • Android - La cobertura de código de Jacoco ignora las pruebas Robolectric
  • Robolectric inflar vistas personalizadas para pruebas
  • Robolectric 3.0 InflateException con un fragmento personalizado de mapa
  • SecurityProvider en Mockito Pruebas cuando se ejecuta junto a Robolectric
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.