¿Cuál es el propósito de las anotaciones @SmallTest, @MediumTest y @LargeTest en Android?
99
Soy nuevo en Android y he visto un código de ejemplo con estas anotaciones. Por ejemplo:
@SmallTestpublicvoid testStuff(){TouchUtils.tapView(this, anEditTextView);
sendKeys("H E L P SPACE M E PERIOD");
assertEquals("help me.", anEditTextView.getText().toString());}
En el contexto del código anterior, ¿realmente HACE algo excepto dejar una nota para otros desarrolladores? ¿Hace cumplir algo? ¿Existe alguna herramienta que utilice esta anotación? ¿Cuál es su propósito en el desarrollo de Android?
Puede ejecutar un grupo de pruebas anotadas con una anotación específica.
Bien, en resumen, solo puedo ejecutar el conjunto de pruebas @SmallTest con adb shell am instrument -w -e size small com.android.foo/android.support.test.runner.AndroidJUnitRunner; gracias
kosiara - Bartosz Kosarzycki
¿Cómo especificamos la anotación en un comando de Gradle? Por ejemplo, algo como:./gradlew connectedDebugAndroidTest -size MediumTest
Ya veo (y recuerdo haber leído ese artículo el mes pasado). Pero en el contexto del código anterior, ¿realmente HACE algo excepto dejar una nota para otros desarrolladores? ¿Hace cumplir algo? ¿Existe alguna herramienta que utilice esta anotación? ¿Cuál es su propósito en el desarrollo de Android?
Eric Palakovich Carr
3
@Eric El TestRunner de Android le permite especificar el tamaño de las pruebas a ejecutar.
@NeonWarge use import android.support.test.filters. Prueba [pequeña];
Alexander Sidikov Pfeif
1
También puede anotar las pruebas unitarias de POJO con @Category(MediumTest.class)o @Category(LargeTest.class), etc. definiendo sus propias categorías ; consulte el repositorio de categorías de prueba para ver un ejemplo
adb shell am instrument -w -e size small com.android.foo/android.support.test.runner.AndroidJUnitRunner
; gracias./gradlew connectedDebugAndroidTest -size MediumTest
Esta publicación de blog lo explica mejor. Básicamente, es lo siguiente:
Según el blog de desarrolladores de Android , una prueba pequeña debe durar <100 ms, una prueba media <2 segundos y una prueba grande <120 segundos.
Consulte esta página (busque "@SmallTest") sobre cómo especificar qué pruebas se ejecutan.
fuente
También puede anotar las pruebas unitarias de POJO con
@Category(MediumTest.class)
o@Category(LargeTest.class)
, etc. definiendo sus propias categorías ; consulte el repositorio de categorías de prueba para ver un ejemplofuente