tutorial studio proyecto programacion móviles flavors estructura desarrollo curso aplicaciones android gradle android-studio

programacion - ¿Cómo estructurar el directorio de prueba del proyecto en Android Studio?



manual de programacion android pdf (4)

Todavía no hay una convención para esto, pero ¿cómo se estructura el directorio de prueba para Android Studio, ahora que lo que se dice en la página de pruebas fundamentales de Android difiere?

Particularmente, cualquier sugerencia sobre cómo obtener las pruebas de jUnit en Android Studio sería útil, gracias.

Además, el uso de la herramienta android realmente no ayuda ahora, ya que las cosas son un poco diferentes con Android Studio.

Actualizar:

Intenté configurar la carpeta de prueba y ejecutarla, pero todo lo que obtengo es lo siguiente:

Running tests Test running startedTest running failed: Unable to find instrumentation info for:ComponentInfo{<project-package-name>/android.test.InstrumentationTestRunner} Empty test suite.

También intenté agregar un archivo AndroidManifest.xml estándar para las pruebas allí.


Ahora, en Android Studio, puede configurar los tests de instrumentos simplemente siguiendo la convención de colocar las pruebas en el directorio del instrumento. Gradle solo necesita saber de cualquier dependencia que tenga, que en mi caso es Robotium:

dependencies { androidTestCompile ''com.jayway.android.robotium:robotium-solo:5.0.+'' }

Cuando finalice la prueba, se mostrarán los resultados en la GUI, ¡para que no tenga que utilizar ninguna línea de comando! También puede hacer clic con el botón derecho en el módulo sobre la prueba JUnit para ejecutar todas las pruebas JUnit.


Estaba experimentando este problema también. AndroidStudio solo estaba compilando e instalando la aplicación principal APK en el dispositivo y fallando las pruebas con el siguiente mensaje:

Prueba de funcionamiento iniciado Error de la ejecución de prueba: no se ha podido encontrar la información de instrumentación para: ComponentInfo {com.example.app.test / android.test.InstrumentationTestRunner}

Suite de prueba vacía

Sin embargo, ejecutar el objetivo connectedCheck Gradle fue generar e instalar dos APK y ejecutar con éxito las pruebas de instrumentación. Resulta que puede pedirle a Gradle que ensamble e instale la instrumentación APK solo ejecutando el objetivo installDebugAndroidTest . Después de ejecutar este objetivo, AndroidStudio pudo ejecutar bien las pruebas de instrumentación e incluso pudo conectar el depurador. Supongo que tendrá que actualizar la instrumentación APK cada vez que cambie las pruebas, pero no de lo contrario.

Los archivos APK de instrumentación instalados en el dispositivo se pueden enumerar ejecutando: adb shell pm list instrumentation


Tengo otra forma de resolver este problema, si su razón es el problema de la configuración de ejecución.

revisa tu configuración de ejecución, si la configuración de tu proyecto es Android Tests pero no Android Application y luego te enfrentarás

"Running tests Test running startedTest running failed: Unable to find instrumentation info for:ComponentInfo{<project-package-name>/android.test.InstrumentationTestRunner} Empty test suite."

así que elimine la configuración de las pruebas de Android y agregue una configuración de ejecución de la aplicación Android para su proyecto, puede ejecutarlo.


ACTUALIZAR

A partir de las Herramientas de compilación 19.1.0 y el plugin de compilación 0.11.0, los archivos build.gradle necesitan tener testPackageName renombrado como testApplicationId (también packageName debe renombrarse como androidId )

A partir del plugin de compilación 0.9.0 , la carpeta instrumentTest pasa a llamarse androidTest . Eso es todo lo que necesitamos para probar.

Aquí hay un ejemplo de 0.11. + DSL

android { compileSdkVersion 19 buildToolsVersion "19.1.0" defaultConfig { minSdkVersion 16 targetSdkVersion 19 versionCode 1 versionName "1.0" androidId "org.homelab.lab" testApplicationId "org.homelab.lab.test" testInstrumentationRunner "org.homelab.lab.test.Runner" } ... }

GOTCHAS : si su archivo de compilación consta de las definiciones de testPackageName y testInstrumentationRunner , elimínelas

Para la versión 0.5.0 - 0.8. +

Android Studio utiliza el plugin de Gradle versión 0.5. + Que sigue los principios de Gradle SourceDir.

Cómo hacer que funcione:
1.update SDK
2.instale o actualice Gradle a 1.6 (problemas reportados con 1.7) o pegue con envoltura gradle
3.no usa Android Studio para ejecutar la tarea de instrumentación, use el comando gradle

gradle connectedCheck

4.no usa el mismo paquete para prueba y apk principal
5. compruebe los resultados usando el navegador

<project>/build/reports/instrumentTests/index.html

Gotchas:
Si el paquete de prueba y el paquete principal son iguales, puede crear TestSuite vacío. El resultado es engañoso ya que Gradle no informa problemas, pero los informes muestran que no se ha probado ninguna clase.

EDITAR:

A continuación se muestra la parte de build.gradle que configura las pruebas de instrumentos requeridas antes de 0.9.0:

android { compileSdkVersion 14 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 14 targetSdkVersion 17 testPackageName "org.homelab.lab.test" testInstrumentationRunner "org.homelab.lab.test.Runner" } ... }

proyecto de ejemplo https://github.com/swavkulinski/android-studio-instrumentation-test