¿Existe alguna manera de ejecutar solo un conjunto específico de pruebas en un proyecto de Android Gradle?

StackOverflow https://stackoverflow.com//questions/23046259

Pregunta

Tengo un proyecto de Android/Gradle.Siempre que quiero ejecutar pruebas, ejecuto:

./gradlew connectedInstrumentTest

que ejecuta todas mis pruebas en la carpeta de prueba de mi proyecto.

Mi carpeta de pruebas tiene varias pruebas de automatización y pruebas no automatizadas.Lo que más me interesa es ejecutar las pruebas rápidas que no son de automatización sin las pruebas de automatización lentas.

¿Existe alguna manera de ejecutar solo un conjunto específico de pruebas, como las de una clase específica o algo similar?Básicamente estoy preguntando sobre cualquier tipo de separación para poder elegir ejecutar solo algunas pruebas cuando quiera.


Creó un proyecto de muestra aquí.

Editar local.properties para apuntar a su SDK de Android.

A continuación, inicie un emulador o conecte un teléfono a su computadora.Luego puedes ejecutar pruebas usando ./gradlew connectedInstrumentTest --info.Esto ejecuta todas las pruebas.

Lo que no puedo entender es cómo ejecutar pruebas sólo en, digamos, una clase y no en todas las pruebas.

¿Fue útil?

Solución

Desde el complemento Android Gradle 1.3.0

A partir de la versión 1.3.0, puede (¡por fin!) especificar los argumentos que el complemento Gradle de Android debe pasar al InstrumentationTestRunner.

Por ejemplo, si desea ejecutar solo las pruebas anotadas con @SmallTest e ignorar a los demás:

android {
  //....
  defaultConfig {
  //....
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    testInstrumentationRunnerArgument "size", "small"
  }
}

Antigua soluciónAntes del complemento 1.3.0 no era posible hacer eso, pero encontré una pequeña solución.Básicamente he anotado con el @SmallTest anotación de las pruebas rápidas y uso de una subclase personalizada del InstrumentationTestRunner Puedo ejecutar solo ellos y no toda la suite.

Puedes encontrar el código de ejemplo en esta esencia.

Otros consejos

Sí, por favor, tenga un aspecto aquí .También debe trabajar con un proyecto Android.Desafortunadamente, por lo que sé, no hay forma de pellar un solo método: puede limitar solo a su traje completo.

También puede instalar el traje de prueba en el dispositivo y ejecutarlo manualmente a través de ADB.Consulte Android docs

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top