studio - unit test android
Una forma de compartir código entre múltiples módulos de prueba de Android (1)
Quiero lograr algo como esto:
[ComponentTestsModule] com.android.test
[FunctionalTestsModule] com.android.test
both depends on
-> [TestLibraryModule] ?
which depends on
-> [AppModule] com.android.application
¿Hay alguna forma de hacerlo con Android Gradle Plugin 3.0+?
¿Por qué necesito múltiples módulos de prueba?
Quiero diferentes corredores de prueba para diferentes tipos de pruebas, también apuntar a diferentes variantes. Está funcionando en este momento con una base de código única bajo androidTest
, pero con interruptores feos en el corredor de prueba personalizado.
¿Por qué necesito un módulo de biblioteca de prueba?
Quiero compartir los mismos objetos de página entre diferentes tipos de pruebas, y quizás algún código de utilidad. El problema es que los objetos de la página deben tener acceso a la clase R de la aplicación (localizadores: R.id. *)
Ninguno de los tipos de módulos que conozco no puede depender del módulo productor de APK, se espera de com.android.test
, pero no puedo depender de com.android.test
con otro com.android.test
.
Quiero diferentes corredores de prueba para diferentes tipos de pruebas.
Para ejecutar una clase de prueba con un corredor de prueba específico, use la anotación @RunWith
.
también apuntar diferentes variantes
Para apuntar a una variante específica, cree sus pruebas en app/src/androidTestVariantName
para pruebas instrumentadas o en app/src/testVariantName
para pruebas de unidad.