Jvm opciones en android cuando se ejecuta gradlew test
Tengo un proyecto que utiliza Robolectric para el propósito de prueba de unidad. Este proyecto utiliza Robolectric 3.0 y necesita agregar opciones -noverify
y -noverify
en las opciones de Virtual Machine.
En Android Studio, creé la nueva configuración de JUnit en Run > Edit Configurations...
y luego establecer las VM Options
en -ea -noverify
. Con esta manera yo éxito para ejecutar mi prueba de unidad. Esta es la imagen de mi configuración, ver aquí
- Robolectric: cómo probar una SherlockActivity
- ¿Es posible probar una actividad abstracta con Robolectric
- Algo falta en mi proyecto de prueba de Android?
- Volver a cargar variables estáticas al inicio de cada prueba de unidad
- Roboelectric 3.0 fragmentos de prueba
Sin embargo, para el despliegue continuo, necesito ejecutar la prueba de unidad con línea de comandos. Así que utilizo ./gradlew test
para ejecutar la prueba de unidad. También agrego org.gradle.jvmargs=-ea -noverify
gradle.properties
archivo gradle.properties
. Desafortunadamente, no funciona. Puedo ejecutar la prueba de unidad, pero tengo java.lang.VerifyError
y creo que gradle.properties
no fue carga.
Por lo tanto, mi pregunta es, ¿cómo hacer gradle.properties
carga o sabes alguna manera de arreglar mi problema de opciones de vm?
- Robolectric filenotFound en archivos de activos
- Soporte de la clase Robolectric de Android. Cómo tener las referencias de la clase de biblioteca R desde el proyecto de aplicación
- Integración Roboeléctrica y Pepino
- Robolectric sombra no funciona
- Influencia de diseño personalizado con Fragmentos en Robolectric no funciona
- Robolectric y Android Studio 1.1.0 y pruebas de biblioteca
- AndroidHttpClient no encontrado (al ejecutar Robolectric)
- ¿Cómo se integra Robolectric, Maven, ActionBarSherlock (y preferiblemente + IntelliJ) en un proyecto de Android?
Ya se ha respondido, pero esto puede ser una solución más fácil:
En el archivo build.gradle
los módulos de aplicación en el cierre de Android, agregue esto.
android { .... testOptions { unitTests.all { jvmArgs '-noverify' } } }
He encontrado que podemos agregar este bloque a la aplicación build.gradle para resolver este problema
tasks.whenTaskAdded { theTask -> def taskName = theTask.name.toString() if ("testDevDebug".toString().equals(taskName)) { theTask.jvmArgs('-ea', '-noverify') } }
DevDebug
es mi variante de construcción.
Tal vez esto
./gradlew -Dorg.gradle.jvmargs="-ea -noverify" test
- Tostar no mostrar en OnItemClick
- ¿Por qué recibo una respuesta vacía cuando mi aplicación android llama a mi API en mi servidor?