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:
- Servicio Android no lanzado por JUnit test
- Prueba de unidad Android SMS Receiver
- Configurar gradle para usar JUnit, Mockito, Hamcrest y Espresso
- Prueba del código de Android con JUnit y el JDK
- Cómo ejecutar pruebas en un fragmento de actividades
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
- Prueba de la unidad de Android que no informa Fallando con error ()
- Android: pruebas de instumentación para widgets de aplicaciones
- ¿Cómo puedo ejecutar las pruebas de Android con sbt?
- Prueba de respuestas reales de red con retroadaptación
- Dependencia entre las pruebas de JUnit que funcionan simultáneamente en varios dispositivos
- Obteniendo junit.framework.AssertionFailedError: No se encontraron pruebas en cuando se usa Unit y Mockito
- Eclipse lanza java.lang.NullPointerException en la creación de la configuración de prueba de android junit
- Actividad de prueba onCreate Exception
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.