No se puede ejecutar el caso de prueba JUnit 4 en el proyecto Eclipse Android

Soy nuevo en Java y estoy tratando de ejecutar una prueba de unidad en una clase que estoy escribiendo. Eclipse (3.5) creó la clase de prueba de unidad para mí y agregó Junit4 a mi ruta de clase.

Mi clase:

public class DistanceUtil { public static double metersToMiles( double meters ) { return 0; } public static double metersToKilometers( double meters ) { return 0; } } 

Mi prueba de unidad:

 public class DistanceUtilTest { @Test public final void testMetersToMiles() { fail("Not yet implemented"); // TODO } @Test public final void testMetersToKilometers() { fail("Not yet implemented"); // TODO } } 

Cuando hago clic derecho en la prueba de la unidad y selecciono ejecutar como prueba de Junit obtengo lo siguiente:

 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (classFileParser.cpp:3075), pid=5564, tid=4940 # Error: ShouldNotReachHere() # # JRE version: 6.0_17-b04 # Java VM: Java HotSpot(TM) Client VM (14.3-b01 mixed mode windows-x86 ) # An error report file with more information is saved as: # C:\Users\Giles Roadnight\workspaceAndroid\Cycloid\hs_err_pid5564.log # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # 

Alguien tiene una idea de cómo puedo solucionar esto?

Gracias

Después de buscar en Google una respuesta, parece que podría tener algo que ver con las herramientas de desarrollo de Android.

A continuación se muestran los pasos tomados de este hilo de comentarios :

  1. Haga clic derecho en el proyecto -> ejecutar -> ejecutar configuración
  2. Seleccione su proyecto Junit
  3. Ir a la pestaña classpath
  4. eliminar la entrada del marco de Android
  5. seleccionar entradas de arranque
  6. haga clic en avanzado
  7. seleccione Agregar biblioteca
  8. De acuerdo
  9. Eligió “JRE System Library”
  10. Siguiente
  11. terminar
  12. También debe agregar la biblioteca JUnit, así que siga los pasos del 5 al 11 y seleccione “Junit” en lugar de “JRE System Library”.
  13. Ahora puede ejecutar su proyecto como Junit.

Dado que las instrucciones de Alex Spurling ya no son válidas para Eclipse Juno y el último Android SDK, puede ser útil dar otra alternativa:

  1. Cree un proyecto de biblioteca Java ordinaria separado que contenga todo el código que no tenga dependencias con la plataforma Android.
  2. Escriba JUnit pruebas normalmente.
  3. Incluye ese proyecto en tu proyecto de Android como referencia de biblioteca.
  4. Use SLF4J u otra biblioteca de alto nivel para el registro.

Es un poco molesto en proyectos pequeños, pero OTOH ayuda a imponer modularidad y segregación de interfaz.