¿Cuál es la diferencia entre las carpetas src / androidtest y src / test?

En un proyecto predeterminado en Android Studio hay dos carpetas de prueba.

El primero es src/androidTest . Esta carpeta ya existía en la versión anterior de Android Studio. Sin embargo, desde hace algún tiempo, hay una nueva carpeta de prueba por defecto src/test y nueva dependencia testCompile 'junit: junit: 4.12' en build.gradle .

Mi pregunta es: ¿Qué carpeta utilizo para las pruebas y las diferencias entre los dos?

src/androidTest es para pruebas de unidad que involucra la instrumentación de android.

src/test es una prueba de unidad pura que no involucra el framework android. Puede ejecutar pruebas aquí sin ejecutar en un dispositivo real o en un emulador.

Puede utilizar ambas carpetas. Utilice el primero para probar código que utilice el marco de Android. Utilice el segundo para probar código que son clases java puras. Los métodos para escribir las pruebas son casi los mismos.

Más información aquí: http://developer.android.com/tools/testing/testing_android.html

Gran fuente de información relacionada con las pruebas de Android en general es la página de desarrolladores Mejores prácticas para la prueba :

  • Pruebas de unidad locales ( /src/test/java/ )

Pruebas de unidad que se ejecutan localmente en la máquina virtual Java (JVM). Utilice estas pruebas para minimizar el tiempo de ejecución cuando sus pruebas no tengan dependencias de framework de Android o cuando pueda burlar las dependencias de framework de Android.

  • Pruebas instrumentadas ( /src/androidTest/java/ )

Pruebas de unidad que se ejecutan en un dispositivo o emulador de Android. Estas pruebas tienen acceso a la información de Instrumentation, como el Contexto de la aplicación que está probando. Utilice estas pruebas cuando sus pruebas tengan dependencias de Android que los objetos simulados no puedan satisfacer.

Https://developer.android.com/training/testing/start/index.html

  • Unidad de prueba de un receptor de radiodifusión?
  • Cómo pasar un argumento a una prueba junit de android (pruebas parametrizadas)
  • Se ha producido un error en la ejecución de la prueba: La ejecución de la instrumentación ha fallado debido a que "Proceso se ha estropeado". Al probar varias actividades de Android
  • Ejecutar pruebas de JUnit en la aplicación de Gradle para Android
  • Prueba de unidad con Junit: prueba de recursos de red / bluetooth
  • Error al resolver: Error: (23, 17) junit: junit: 4.12 en android studio 1.4
  • ActivityUnitTestCase arroja RuntimeException cuando se ejecuta con AndroidJUnitRunner
  • Android y JUnit: ¿Cómo agregar pruebas individuales al conjunto de pruebas?
  • Excepción de tiempo de ejecución en las pruebas de Android JUnit
  • "Los animadores sólo se pueden ejecutar en subprocesos Looper" durante las pruebas de instrumentación en dispositivo
  • Intentando probar SQLiteOpenHelper pero getWritableDatabase () lanza Null
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.