¿Cuál es el propósito de las anotaciones de @SmallTest, @MediumTest y @LargeTest en Android?

Soy nuevo en Android y he visto código de ejemplo utilizando estas anotaciones. Por ejemplo:

@SmallTest public void testStuff() { TouchUtils.tapView(this, anEditTextView); sendKeys("HELP SPACE ME PERIOD"); assertEquals("help me.", anEditTextView.getText().toString()); } 

¿Qué hace esta anotación?

Esta entrada de blog lo explica mejor. Básicamente, es el siguiente:

Tabla de pruebas

  1. Pequeño: esta prueba no interactúa con ningún sistema de archivos o red.
  2. Medio: Accede a los sistemas de archivos en el cuadro que está ejecutando pruebas.
  3. Large: Accede a sistemas de archivos externos, redes, etc.

Según el blog de desarrolladores de Android , una prueba pequeña debería tomar <100 ms, una prueba media <2s y una prueba grande <120.

Vea esta página (busque "@SmallTest") sobre cómo especificar qué pruebas se ejecutan.

Como una adición a la respuesta de Davidann y principalmente Eric Palakovich Carr's question in the comment :

En el contexto del código anterior, ¿realmente hace algo excepto dejar una nota para otros desarrolladores? ¿Impone algo? ¿Hay alguna herramienta que utilice esta anotación? ¿Cuál es su propósito en el desarrollo de Android?

De la documentación de AndroidJUnitRunner :

Ejecutar un tamaño de prueba específico, es decir, anotado con SmallTest o MediumTest o LargeTest :

Adb shell am instrumento -w -e tamaño [pequeño | medio | grande] com.android.foo/android.support.test.runner.AndroidJUnitRunner

También puede configurar los parámetros a través de gradle:

android { ... defaultConfig { ... testInstrumentationRunnerArgument 'size', 'Large' } }
android { ... defaultConfig { ... testInstrumentationRunnerArgument 'size', 'Large' } } 

Vea esta entrada del blog para más detalles.

  • Cómo probar el archivo java generado automáticamente usando JUnit para mi AIDL
  • La manera más rápida de crear una actividad simulada para probar
  • Android prueba testPreconditions
  • Mockito: ¿Cómo uso getString con mockito?
  • Método getActivity () que bloquea indefinidamente mientras que la prueba de la unidad
  • Cómo burlar un objeto de etiqueta NFC de Android para las pruebas de unidad
  • ¿Diferencia entre la prueba de instrumentación de Android y la prueba de unidad en Android Studio?
  • Cómo crear un módulo de prueba para probar una biblioteca de Android en IntelliJ IDEA
  • Prueba de una clase Fragment en aislamiento usando Mockito
  • VerifyError al ejecutar jUnit Test en Android 1.6
  • Habilitar ubicaciones de Mock en Android Marshmallow
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.