Skip to content

Most visited

Recently visited

navigation

Probar tu app

Android Studio está diseñada para simplificar las pruebas. Con solo algunos clics, puedes establecer una prueba JUnit que se ejecute en el JVM local o una prueba instrumentada que se ejecute en un dispositivo. Por supuesto, también puedes extender tus capacidades de pruebas integrando frameworks de prueba como Mockito, para probar llamadas de Android API en tus pruebas de unidades locales, y Espresso o UI Automator para ejercitar la interacción con usuarios en tus pruebas instrumentadas. Puedes generar pruebas Espresso automáticamente usando la grabadora de pruebas Espresso.

En esta página se proporciona información básica sobre la forma de agregar pruebas nuevas a tu app y ejecutarlas desde Android Studio.

Si deseas acceder a una guía práctica más completa para escribir pruebas, consulta Primeros pasos con las pruebas.

Tipos de pruebas y ubicación

La ubicación del código de tu prueba depende del tipo de prueba que escribas. Android Studio proporciona directorios de código fuente (conjuntos fuente), para los siguientes dos tipos de pruebas:

Pruebas de unidad local

Ubicación: module-name/src/test/java/.

Estas son pruebas que se ejecutan en la máquina virtual Java (JVM) local de tu máquina. Usa estas pruebas para minimizar el tiempo de ejecución cuando tus pruebas no tengan dependencias de marco de Android o cuando puedas simular las dependencias del marco de Android.

En el tiempo de ejecución, estas pruebas se ejecutan en una versión modificada de android.jar en la que se quitan todos los modificadores final. Esto te permite usar bibliotecas de simulación populares, como Mockito.

Pruebas instrumentadas

Ubicación: module-name/src/androidTest/java/.

Estas son pruebas que se ejecutan en un dispositivo o emulador de hardware. Estas pruebas tienen acceso a las API Instrumentation, y te permiten acceder a información como el Context de la app que pruebas y controlar la app a prueba desde tu código de prueba. Usa estas pruebas cuando escribas pruebas de IU funcionales e integradoras para automatizar la interacción de usuarios, o cuando tus pruebas tengan dependencias de Android que los objetos ficticios que no puedan contemplar.

Debido a que las pruebas instrumentadas se compilan en un APK (por separado del APK de tu app), deben tener su propio archivo AndroidManifest.xml. Sin embargo, Gradle automáticamente genera este archivo durante la compilación para que no se vea en el conjunto de fuentes de tu proyecto. Puedes agregar tu propio archivo de manifiesto si es necesario, por ejemplo, a fin de especificar un valor diferente para `minSdkVersion` o registrar receptores de ejecución solo para tus pruebas. Cuando se compila tu app, Gradle combina varios archivos de manifiesto en un manifiesto.

La compilación de Gradle interpreta estos conjuntos de orígenes de pruebas como lo hace en el caso de los conjuntos de orígenes de app de tu proyecto, que te permiten crear pruebas según las variantes de compilación.

Cuando creas un proyecto nuevo o agregas un módulo de app, Android Studio crea los conjuntos de orígenes de pruebas e incluye un ejemplo de archivo de prueba en cada uno. Puedes verlos en la ventana Project, como se muestra en la figura 1.

Figura 1: Las pruebas instrumentadas (1) de tu proyecto y (2) las pruebas JVM locales se pueden ver en la vista Project (izquierda) o Android (derecha).

Agregar una prueba nueva

Para crear una prueba de unidad local o una prueba instrumentada, puedes crear una prueba nueva para una clase o método específico siguiendo estos pasos:

  1. Abre el archivo Java que contiene el código que desees probar.
  2. Haz clic en la clase o método que desees probar, luego presiona Ctrl+Shift+T (⇧⌘T).
  3. En el menú que aparece, haz clic en Create New Test.
  4. En el diálogo Create Test, edita cualquier campo, selecciona cualquier método que generarás y luego haz clic en OK.
  5. En el diálogo Choose Destination Directory, haz clic en el conjunto de orígenes correspondiente al tipo de prueba que desees crear: androidTest para una prueba instrumentada o test para una prueba de unidad local. Luego haz clic en OK.

Como alternativa, puedes crear un archivo Java genérico en el conjunto de orígenes de pruebas correspondiente de la siguiente manera:

  1. En la ventana Project, a la izquierda, haz clic en el menú desplegable y selecciona la vista Project.
  2. Expande la carpeta de módulos correspondiente y la carpeta anidada src . Para agregar una prueba de unidad local, expande la carpeta test y la carpeta anidada java; para agregar una prueba instrumentada, expande la carpeta androidTest y la carpeta anidada java.
  3. Haz clic con el botón secundario en el directorio del paquete Java y selecciona New > Java Class.
  4. Nombra el archivo y luego haz clic en OK.

También asegúrate de especificar las dependencias de bibliotecas de pruebas en el archivo build.gradle del módulo de tu app:

dependencies {
    // Required for local unit tests (JUnit 4 framework)
    testCompile 'junit:junit:4.12'

    // Required for instrumented tests
    androidTestCompile 'com.android.support:support-annotations:24.0.0'
    androidTestCompile 'com.android.support.test:runner:0.5'
}

Para hallar otras dependencias de bibliotecas opcionales y más información sobre la manera de escribir tus pruebas, consulta Compilación de pruebas de unidades locales y Compilación de pruebas de unidades instrumentadas.

Crear pruebas instrumentadas para una variante de compilación

Si en tu proyecto se incluyen variantes de compilación con conjuntos de orígenes únicos, tal vez desees conjuntos de orígenes de una prueba instrumentada correspondiente. La creación de pruebas instrumentadas en conjuntos de orígenes que corresponden a tus variantes de compilación permite mantener organizado tu código de prueba y ejecutar solo las pruebas que se apliquen a una variante de compilación determinada.

Si deseas agregar un conjunto de orígenes de pruebas para tu variante de compilación, sigue estos pasos:

  1. En la ventana Project a la izquierda, haz clic en el menú desplegable y selecciona la vista Project.
  2. Dentro de la carpeta de módulo correspondiente, haz clic con el botón secundario en la carpeta src y con el primario en New > Directory.
  3. Para el nombre del directorio, ingresa a “androidTestnombre_de_la_variante”. Por ejemplo, si tienes una variante de compilación llamada “MyFlavor”, el nombre del directorio debe ser “androidTestMyFlavor”. Luego haz clic en OK.
  4. Haz clic con el botón secundario en el directorio nuevo y con el primario en New > Directory.
  5. Ingresa “java” como nombre del directorio y luego haz clic en OK.

Ahora podrás agregar pruebas a este conjunto de orígenes nuevo siguiendo los pasos de arriba para agregar una prueba nueva. Cuando veas el diálogo Choose Destination Directory, selecciona el nuevo conjunto de orígenes de prueba de la variante nueva.

Las pruebas instrumentadas en el conjunto de orígenes src/androidTest/ se comparten en todas las variantes de compilación. Cuando se compila un APK de prueba para la variante “MyFlavor” de tu app, Gradle combina los conjuntos de orígenes src/androidTest/ y src/androidTestMyFlavor/.

Por ejemplo, en la siguiente tabla se muestra la manera en que los archivos de prueba de instrumentación residen en conjuntos de orígenes que corresponden con conjuntos de orígenes de código de la app.

Ruta de acceso a la clase de app Ruta de acceso para hacer coincidir la clase de prueba de instrumentación
src/main/java/Foo.java src/androidTest/java/AndroidFooTest.java
src/myFlavor/java/Foo.java src/androidTestMyFlavor/java/AndroidFooTest.java

Del mismo modo en que lo hace para tus conjuntos de orígenes de apps, la compilación de Gradle combina y anula los archivos de diferentes conjuntos de orígenes de prueba. En este caso, el archivo AndroidFooTest.java en el conjunto de orígenes “androidTestMyFlavor” anula la versión en el conjunto de orígenes “androidTest”. Para obtener más información acerca de cómo se combinan conjuntos de orígenes, consulta Configurar tu compilación.

Otra razón por la cual debes usar variantes de compilación para tu app y para conjuntos de orígenes de pruebas es la creación de pruebas cerradas a través de dependencias ficticias. Es decir, puedes crear una clase de producto para tu app que contenga implementaciones falsas de dependencias (como solicitudes de red o datos de sensores de dispositivos que sean poco confiables) y luego puedes agregar un conjunto de orígenes de prueba ficticios correspondiente. Para obtener más información, consulta la entrada de blog sobre cómo mejorar las clases de productos para pruebas cerradas.

Ejecutar una prueba

Para ejecutar una prueba, procede de la de la siguiente manera:

  1. Asegúrate de que tu proyecto esté sincronizado con Gradle haciendo clic en Sync Project en la barra de herramientas.
  2. Ejecuta tu prueba de una de las siguientes maneras:
    • En la ventana Project, haz clic con el botón secundario en una prueba y luego con el primario en Run .
    • En Code Editor, haz clic con el botón secundario en una clase o método del archivo de prueba y luego con el primario en Run para ejecutar todos los métodos de la clase.
    • Para ejecutar todas las pruebas, haz clic con el botón secundario en el directorio de pruebas y luego con el primario en Run tests .

De forma predeterminada, tu prueba se ejecuta con la configuración de ejecución predeterminada de Android Studio. Si deseas cambiar alguna de las configuraciones de ejecución, como las opciones del ejecutor de instrumentación y de implementación, puedes editar la configuración de ejecución en el diálogo *Run/Debug Configurations (haz clic en Run > Edit Configurations).

Cambiar el tipo de compilación de pruebas

De forma predeterminada, todas las pruebas se ejecutan en el tipo de compilación de depuración. Puedes cambiar esto a otro tipo de compilación usando la propiedad testBuildType en tu archivo de nivel de módulo build.gradle. Por ejemplo si deseas ejecutar tus pruebas en tu tipo de compilación “staging” (almacenamiento provisional), edita el archivo como se muestra en el siguiente fragmento.

android {
    ...
    testBuildType "staging"
}
This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.