Cómo obtener Android Studio para reconocer el archivo como fuente (prueba)

Estoy tratando de crear pruebas Robolectric para un proyecto de Android (diablos, me gustaría ser incluso hacer pruebas de unidad)

Tengo el directorio de la carpeta como:

MyApp - app - src - main - java - com.myapp HelloWorld - test - java - com - myapp HelloWorldTest.java 

El problema es que HelloWorldTest.java no se puede ejecutar porque no se está reconociendo como fuente. ¿Cómo lo configuro para que pueda ejecutar esta clase como una prueba ?????

Si intento hacer CMD + SHIFT + T (atajo para la creación de pruebas), se pide para crear las pruebas en el mismo directorio que mi archivo de origen y no quiero que

En Android Studio 1.3:

Construir> Seleccionar variante de construcción

En la ventana Construir variantes, seleccione Pruebas de unidad como el artefacto de prueba.

En Android Studio 1.0 el esquema ha cambiado un poco.

Tu ruta de acceso debe ser (app) /src/androidTest/java/com/myapp/HelloWorldTest.java

Así es como configuro las pruebas de unidad en un nuevo proyecto de Android Studio:

  • Abre la aplicación en Android Studio.
  • Establezca el Explorador de proyectos (ventana izquierda) para mostrar el modo 'Proyecto'. Toque el pequeño menú desplegable en la parte superior izquierda y seleccione "Proyecto".
  • Haga clic derecho en el directorio 'src', 'Nuevo -> Directorio'.
  • Llamar al nuevo directorio androidTest
  • Haga clic derecho en androidTest y agregue un directorio 'java'. Aparecerá en verde (indicando que es un directorio src de prueba).
  • Ahora vuelva a hacer clic con el botón derecho del ratón y agregue un paquete, por ejemplo, com.mycompany.myapp.tests
  • Agregue una nueva clase que extienda AndroidTestCase.

Ahora agregue una nueva configuración para la prueba:

  • Editar configuraciones
  • Haga clic en + en la parte superior izquierda
  • Seleccionar Android Tests
  • En la pestaña General seleccione su módulo principal.
  • Presiona Aceptar

Ahora puedes ejecutar las pruebas.

Siga las directrices disponibles aquí:

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing

y aquí

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Configuring-the-Structure

Resumen :

Como el primer enlace dice que usted tiene que renombrar su directorio de test como instrumentTest para que Studio pueda detectar automáticamente los sets de código fuente para su proyecto de prueba

o

Alternativa es que puede tener su directorio de tests en la raíz (con el directorio principal) y las fuentes de una manera como tests/java , como el segundo enlace dice

 instrumenttest.setRoot("tests") 

En la configuración de los dispositivos de origen bajo etiqueta de android

Del documento

Nota: setRoot () mueve todo el sourceSet (y sus subcarpetas) a una nueva carpeta. Esto mueve src / instrumentTest / * a tests / * Esto es específico de Android y no funcionará en Java sourceSets.

Tuve un problema similar durante mucho tiempo y finalmente lo resolví.

Para que Android Studio reconozca src / test dir como fuente, debes elegir 'Unit Tests' en 'Build Variants' -> 'Test Artifact:'

Sin embargo, en mi proyecto no había tenido 'pruebas unitarias' que sólo tenía 'pruebas de instrumentación Android'. Se trata de dos tipos diferentes de pruebas unitarias en Android.

Vea: http://developer.android.com/training/testing/unit-testing/index.html
1. Pruebas unitarias – Pruebas unitarias locales
2. Pruebas de instrumentación de Android – Pruebas unitarias instrumentadas

Eso no es obvio en absoluto, pero dentro de 'Construir Variantes' -> 'Prueba Artefacto:' no tiene la opción 'Pruebas de Unidad' cuando tiene varios módulos en su proyecto.

Mi dir de proyecto se parecía a esto:
:proyecto
-:módulo 1
-: módulo2
-: módulo3
-: módulo4
-: módulo5
-settings.gradle -> include ': module1', ': module2', …
Estos módulos no están realmente vinculados entre sí, pero es así que tiene que ser para muchos otros desarrolladores que vinieron de Eclipse. Eso fue un problema.

Entonces creé el proyecto separado para mi módulo solamente:
:proyecto
-:módulo 1
-settings.gradle -> include ': module1'

Después de que 'Unit Tests' apareció en 'Build Variants' -> 'Test Artefacto:' y puedo elegir entre pruebas de unidades locales y pruebas de instrumentación de Android ahora.

  • Android Studio Unit Testing: incapaz de encontrar instrumentación O clase no encontrada ex
  • Cómo obtener la salida de registro de Android mostrada con las pruebas de JUnit (utilizando JUnit nativo sin emulador)
  • ¿Existe alguna manera de usar junit.extensions.TestSetup para pruebas en Android?
  • Java y la metodología de prueba de Android
  • Pruebas automatizadas en el desarrollo de Android
  • Android studio dice "Empty Test Suite" para AndroidTestCase
  • "Clase no encontrada" al ejecutar pruebas JUnit desde IntelliJ IDEA (Android)
  • Android JUnit no se compila si los objetos son parcelables
  • ¿Cómo ejecutar una prueba JUnit4 simple en Android Studio 1.1?
  • Cobertura de código Emma para la prueba de androide JUnit
  • Simple java unidad de pruebas para android + gradle en Android Studio?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.