Saltar prueba para la variante de construcción específica en Android + Gradle?

Tengo una variante de construcción específica que se utiliza SOLAMENTE para la prueba simulada. Preferiría no ejecutar pruebas unitarias en contra de esta variante (pero quiero ejecutarlas contra otras variantes). ¿Hay alguna manera de informar gradle para saltar la prueba de unidad para esta variante específica?

En mi caso, quería omitir todas las pruebas unitarias de la versión de lanzamiento. Se puede lograr haciendo esto:

gradle.taskGraph.useFilter { task -> if (task.name.startsWith("test") && task.name.contains("ReleaseUnitTest")) { return false; } return true; } 

Gradle le permite llamar sólo a las tareas que desea ejecutar específicamente.

Si ejecuta las tareas de Gradle directamente, en lugar de llamar a 'test' se puede llamar a 'testReleaseVariant' para ejecutar sólo pruebas en ReleaseVariant. También puede encadenar otras variantes no simuladas: 'testReleaseVariant testFreeVariant', etc.

Si está llamando a las tareas a través del menú Ejecutar / Eliminar en Android Studio puede editar la configuración haciendo clic en la lista desplegable junto al botón de reproducción verde y seleccionando "Editar configuraciones". En Gradle-> Tests en 'app' y en el campo "Tasks" se puede especificar "testReleaseVariant", o en cadena todas las demás tareas que se quieran ejecutar.

Puede excluir que las tareas se ejecuten agregando un filtro a la taskGraph :

 gradle.taskGraph.useFilter { task -> task.name != "testMock" } 

Esto omitirá la tarea, pero aparte de task.enabled = false esto también saltará sus dependencias, así que compileJava et al. No se ejecutará para la variante simulada.

  • Problema con Android IAP, sin OrderID en el objeto de compra
  • ¿Hay un comando ADB para habilitar / deshabilitar datos móviles? (Dispositivo enraizado)
  • ¿Pruebas beta de Google Play sin una aplicación publicada?
  • Android: ejecución de pruebas instrumentadas en el servidor de TeamCity
  • Cómo detener y reiniciar una actividad en una prueba de instrumentación de Android?
  • ¿Cómo enviar eventos clave a un emulador sin cabeza en una prueba de instrumentación?
  • ¿Cómo puedo obtener identificadores, nombres o rutas x para elementos ui utilizados en una aplicación para móviles (Android / iOS) para pruebas de automatización móvil?
  • Robolectric + rxJava + retrofit Segunda llamada lanza java.io.InterruptedIOException
  • Envío de mayúsculas a un TextEdit durante pruebas instrumentadas
  • Cómo probar la aplicación empresarial android en varios dispositivos
  • ClassNotFoundException durante el instrumento de prueba de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.