studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android eclipse unit-testing junit

para - manual de programacion android pdf



Android Eclipse Plugin: Instrumentation Test Runner no especificado (7)

Me aparece este error cuando intento ejecutar pruebas unitarias desde Eclipse con un proyecto de Android. La lista de corredores de prueba de instrumentación está vacía en las preferencias de Android.

[2009-06-17 23:57:51 - MyApp] ERROR: la aplicación no especifica una instrumentación android.test.InstrumentationTestRunner o no declara uses-library android.test.runner

También es molesto que decida que porque traté de ejecutar una prueba unitaria una vez, eso es lo que siempre quiero hacer.


Además de garantizar que los elementos a continuación se declaran en el manifiesto de su aplicación de prueba, verifique en la Configuración de ejecución que el campo "Instrumentation runner" está configurado para

"com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner".

Esto con lo que me encontré cuando descubrí por qué lo prueba no funcionaría.

Manifiesto:

<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="your.package" android:label="your tests label" /> and... <uses-library android:name="android.test.runner" />


El problema es que cuando creó el proyecto, habría tenido un AVD, por lo que esta configuración faltaría. Mi sugerencia es crear primero el AVD y luego crear el proyecto de Android :).

Si ya hubiera creado el proyecto y si no tiene mucho código que haya escrito, le sugiero que lo elimine y cree uno nuevo.


No está en tu código, es solo eclipse, es un poco problemático. En las configuraciones de ejecución podría estar intentando ejecutar una prueba jUnit, pero seleccione Ejecutar aplicación y ese error desaparecerá.


Probablemente te faltan los nodos de uses-library e instrumentation uses-library en tu AndroidManifest.xml :

<manifest ...> <application ...> <!-- ... --> <uses-library android:name="android.test.runner" /> </application> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="your.package" android:label="your tests label" /> </manifest>


Simplemente haz clic con el botón derecho en tu clase de prueba desde Eclipse IDE y haz clic en "Ejecutar como". Después de esto, seleccione "Ejecutar configuración", que abrirá una Ventana de configuración en eclipse y tendrá que hacer clic en el botón de radio junto al "Instrumentation Runner" y seleccionar el Runner de instrumentación configurado en el menú desplegable. Ahora haga clic en aplicar y luego haga clic en Ejecutar. Creo que esto resolverá tu problema.

Gracias, Smruti


Una cosa que noté en esta discusión que podría molestar a algunas personas es que necesitas asegurarte de que el elemento "instrumentación" en tu manifiesto es hijo de "manifiesto" y no de "aplicación". (Los ejemplos aquí son correctos, pero esto es fácil de mezclar).

http://developer.android.com/guide/topics/manifest/instrumentation-element.html

Si coloca su instrumentación dentro de la aplicación, no se recogerá, y sus opciones en el plugin Eclipse ADT para el corredor de instrumentación pueden estar en blanco. (Pero no se arroja ni se muestra ningún error, etc.)


En la Run Configuration puede tener Android JUnit Test , si hay nuevas entradas de configuración de inicio dentro de este, lo elimina y luego ejecuta su aplicación se ejecutará.

NOTA: Es probable que esta sea la solución si intenta ejecutar el caso de prueba antes de agregar las líneas correctas al manifiesto como se describe en la respuesta de Josef. Si ha hecho esto, elimine la configuración (que se quejará de que no se ha especificado ningún corredor de prueba de instrumentación en su encabezado) y luego ejecútela como una Prueba de Android Junit y creará una configuración válida que recoja las cosas correctas que usted han agregado al manifiesto (ver la respuesta de Josef para esto).