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.
- Creé un nuevo proyecto Android y lo nombré MyApp.
- Seguí todas las instrucciones en la sección "Uso" del README.
- 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
- ¿Cuál es la diferencia entre Robolectric.setupActivity () y Robolectric.buildActivity ()?
- Mocking SQLite-Database durante la prueba de actividad con Robolectric
- ¿Cómo encontrar recursos de la biblioteca de apoyo utilizando robolectric?
- Roboelectric 3.0 fragmentos de prueba
- ¿Cómo puedo probar ListView con Robolectric 2.2? Dice que android.widget.ListView todavía no está implementado
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).
- Cómo activar el registro roboeléctrico
- Mock Android Application class para pruebas con Robolectric en App con Dagger 2
- Error al intentar probar análisis XML con Robolectric
- Robolectric app testing con Firebase
- Cómo burlar los permisos para realizar pruebas en Android?
- Robolectric falla al inflar el archivo de diseño si hay una vista personalizada
- ¿Cómo se integra Robolectric, Maven, ActionBarSherlock (y preferiblemente + IntelliJ) en un proyecto de Android?
- Robolectric no inicia actividad en la orientación correcta
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
- Android MediaCodec decodificar marco h264 crudo
- ¿Qué es una "interrupción del deslizador" en Android