Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo hacer pruebas de integración en Android con el nuevo sistema de generación de Gradle?

Nuestra aplicación Android necesita pruebas automatizadas, y nuestro grupo está usando Robotium para manejar eso para nosotros. Esto no es un problema para las pruebas de unidad, pero también estamos escribiendo un conjunto de pruebas de integración de extremo a extremo para ejercer no sólo el cliente por parte de los servidores back-end. Tengo algunas pruebas que hacen esto, pero si es posible, me gustaría separarlas por separado de las pruebas de unidad para que nuestras integraciones continuas no requieran que un servidor en vivo se ejecute para completarlo.

Estamos usando el nuevo y brillante sistema de construcción de Gradle. Me pregunto si podría hacer algo como un sabor solo de prueba o un subproyecto que depende de la APK padre para hacerlo ir. Intenté hacer este trabajo con un proyecto separado por completo usando las instrucciones de Robotium para probar un APK de depuración sin fuente, pero no funcionó. Tal vez porque estaba en hardware real y no en un emulador. He tenido mala suerte con el emulador, incluso con la aceleración de hardware instalado.

  • Dibujo en el aire con el teléfono Android
  • ¿Cuál es la diferencia entre sensores de "gravedad" y "aceleración" en Android?
  • ¿Cómo es posible que la aplicación Google Fit mide el número de pasos todo el tiempo sin drenar la batería?
  • Confundido cómo usar Mockito para una prueba de Android
  • Cómo consultar el MMS Iniciar sesión en Android
  • Android: Uso del selector para establecer el color de fondo para la vista de imagen
  • ¿Algún consejo, o debo apenas sostener mi respiración y rodar con mis compilaciones que requieren el servidor de la integración para estar disponible cuando las construcciones están sucediendo?

  • Problemas relacionados con el giroscopio con la orientación del dispositivo
  • Android: Uso del selector para establecer el color de fondo para la vista de imagen
  • Cómo consultar el MMS Iniciar sesión en Android
  • Dibujo en el aire con el teléfono Android
  • ¿Cuál es la diferencia entre sensores de "gravedad" y "aceleración" en Android?
  • ¿Cómo es posible que la aplicación Google Fit mide el número de pasos todo el tiempo sin drenar la batería?
  • One Solution collect form web for “¿Cómo hacer pruebas de integración en Android con el nuevo sistema de generación de Gradle?”

    De acuerdo con sus instrucciones de Maven todo lo que necesitas hacer es agregar robotium-solo como una dependencia de compilación.

     repositories { mavenCentral() } dependencies { instrumentTestCompile 'com.jayway.android.robotium:robotium-solo:4.2' } 

    Esto asegurará que tenga el archivo robotium-solo.jar en su classpath. A continuación, defina las pruebas en el directorio src/instrumentTest y ejecute gradle build . ¿Ves si funciona?

    Ayudaré donde pueda, ya que nos convertimos de maven a gradle hace un año.

    * EDIT OP quería que las pruebas se ejecutaran por separado de una compilación gradle, por lo que la solución es especificar un conjunto de fuentes personalizadas de la siguiente manera:

     sourceSets { integrationTest { // Gives you access to the compiled classes in your tests compileClasspath += main.output runtimeClasspath += main.output } } dependencies { integrationTestCompile 'com.jayway.android.robotium:robotium-solo:4.2' } // To run the tests: ./gradlew integrationTest task integrationTest(type: Test) { testClassesDir = sourceSests.integrationTest.output.classesDir classpath = sourceSets.integrationTest.runtimeClasspath } 

    Nota: No tengo el SDK de Android instalado en este equipo. Si main.output no funciona, inténtelo con andriod.sourceSets.main.output y compruebe si funciona.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.