Necesito presentar ProGuard recientemente en Android debido a problemas con Scala en Android. Necesito ProGuard por su función de reducción, que elimina las clases que se presumen no utilizadas. Estoy muy preocupado por el impacto de eliminar clases sobre la capacidad de prueba.Con ProGuard, ¿cuál es el impacto en la estrategia de prueba?
Tal como está, escribo pruebas unitarias que se ejecutan en el host y las pruebas de aceptación que ejecutan la aplicación totalmente integrada en la plataforma Android.
Normalmente, me sentiría cómodo con una cobertura de prueba de unidad relativamente completa y cobertura de prueba de aceptación irregular. Sin embargo, dado que en mi código utilizo fuertemente la inyección de dependencia Guice, hasta ahora, según mi experiencia, ProGuard elimina el código de una manera que es difícil de predecir. Debido a esto, es muy probable que me haga introducir errores.
Esto me lleva a creer que necesito escribir pruebas de aceptación/plataforma que alcancen una cobertura completa porque en cualquier punto, puede haber una clase faltante.
¿Otros tienen esta experiencia? Si es así, ¿cuál ha sido su estrategia de prueba? O con la experiencia, ¿tiene más confianza de que las clases que ProGuard está eliminando son realmente innecesarias?
esto es generalmente cierto, pero tenga cuidado con las incoherencias extrañas cuando use bibliotecas de mierda, como Facebook SDK SDK y cosas por el estilo. Por lo general, rompe las cosas. –