2011-07-22 5 views
8

Quiero ejecutar algunas pruebas de JUnit4. El código se basa en algunas bibliotecas de Android (analizador XML de Android), pero no crea actividades, etc. Cuando intento ejecutar pruebas, descubro que no se encontró una clase de Android que necesito. ¿Hay alguna forma de ejecutar las pruebas JUnit4 con el código de Android, no para probar la actividad sino para probar el código con algunas bibliotecas?Prueba de Android JUnit4

+0

Posible duplicado: http://stackoverflow.com/questions/2172152/cant-run-junit-4-test-case-in-eclipse/ –

Respuesta

3

No hay forma (que yo sepa) de usar JUnit4 en Android. Sin embargo, es compatible con JUnit3, si esa es una opción para usted?

Como alternativa, puede usar Robolectric y ejecutar sus pruebas en su máquina de desarrollo (donde podrá usar el marco de prueba de cualquier unidad que desee). Si esto funcionará para usted depende de exactamente lo que está probando, pero ¿valdría la pena hacerlo?

9

Tuve el mismo problema e intenté adaptar JUnit4 al TestRunner existente de Android, sin éxito. Por lo tanto, creé un nuevo proyecto llamado JUnit4Android. Es una biblioteca de aplicaciones TestRunner para pruebas y suites de prueba JUnit4 y JUnit3. Para que pueda ejecutar sus pruebas JUnit4 existentes con él. Puede encontrar más información en GitHub:

https://github.com/dthommes/JUnit4Android/wiki

+1

Para cualquiera que lea esto ahora, también recomendaría buscar en AndroidJUnit4. Trae JUnit 4 y DBUnit, entre otros, a Android. https://github.com/esmasui/AndroidJUnit4 – spaaarky21

0

Podría ser poco tarde, pero por fin hay una actualización oficial de Google sobre junit4:

basado en Android-test-kit project y algunas otras fuentes, está claro que: el AndroidJUnitRunner es un nuevo corredor de prueba desagregado para Android, que es parte de la

Test Library androide de la ayuda

y puede ser descargado a través del Android Repositorio de soporte. El nuevo corredor contiene todas las mejoras de GoogleInstrumentationTestRunner y añade más características:

- JUnit4 support 
- Instrumentation Registry for accessing Instrumentation, Context and Bundle Arguments 
- Test Filters @SdkSupress and @RequiresDevice 
- Test timeouts 
- Sharding of tests 
- RunListener support to hook into the test run lifecycle 
- Activity monitoring mechanism ActivityLifecycleMonitorRegistry 

De hecho, ya está presente en apoyo del repositorio. Si usted va a

%ANDROID_HOME%\extras\android\m2repository\com\android\support\test\testing-support-lib\

es posible encontrar allí testing-support-lib (AAR, frascos, etc.) que permite utilizar junit4. Aún más, contiene la misma ubicación en la biblioteca de espresso que es útil para las pruebas de UI. Parece que los sitios de Android y las referencias oficiales de soporte de lib se actualizarán pronto con esa información.

Cuestiones relacionadas