2010-04-06 33 views
12

Estoy usando eclipse para ejecutar las pruebas en una única clase de prueba junit (4). Las pruebas en la clase funcionan bien. Luego agrego una prueba adicional y ejecuto la clase a través de la prueba que se ejecuta en ecplise nuevamente. Solo se ejecutan las pruebas antiguas. La nueva prueba no se ve por eclipse. No hay ningún error ni nada, es como si eclipse estuviera viendo una versión anterior de la prueba.Eclipse no ve mi nueva prueba junit

Si ejecuto las pruebas con maven, todo funciona bien. Además, después de ejecutar las pruebas en maven, ecplipse puede ver y ejecutar la nueva prueba correctamente.

¿Alguna idea de lo que está pasando? ¿Alguna idea de cómo hacer que el corredor de pruebas de ecplipse vea mis nuevos casos de prueba?

+2

Pruebe Project/Clean y Project/Rebuild –

+0

¿Podría arreglar esto? – Doppelganger

Respuesta

0

Parece que su proyecto no fue recompilado. O bien marque Menú: Proyecto/Construir automáticamente o hágalo manualmente como comentó Boris Pavlocic.

1

Quizás "solo" necesite crear una nueva configuración de ejecución. Eclipse "recuerda" la última configuración de ejecución utilizada y simplemente la repite si no le dicen lo contrario. Para asegurarse de tener una nueva configuración de ejecución, puede hacer clic con el botón derecho en el caso de prueba en el explorador de paquetes y seleccionar Ejecutar como | Prueba de Junit. La próxima vez que pulsar el botón Reproducir este será el "recordado" Ejecutar configuración, etc.

0

Este parece ser el mismo problema que junit not using the newest file

El problema parece ser que Eclipse pone las pruebas recopiladas en la carpeta equivocada que puede ser resuelto especificando manualmente dónde deberían terminar.

10

Tuve el mismo problema. Lo resuelto de la siguiente manera:

  • ir a Proyecto -> Propiedades -> Java Camino
    construir para la carpeta de origen src/test/java, la carpeta de salida se establece en "carpeta de salida predeterminada"
  • al establecer esta en el directorio típica Maven target/test-classes en su estructura Maven

Después de esto, Maven y Eclipse estaban en sincronía (en contraposición a Eclipse felizmente ejecuta una versión anterior de las pruebas, lado a otro m cuando fue la última compilación de Maven).

+0

Además de esto, en mi caso, tuve que eliminar la carpeta 'target/test-classes', limpiar y reconstruir el área de trabajo. Empecé a trabajar después de eso. – Whyves

1

Posiblemente src/test no se encuentre en la ruta de compilación de Java.

Solución de Kepler:

Project -> Build Path -> Configurar Build Path -> Fuente -> Añadir carpeta

A continuación, active la casilla correspondiente a prueba bajo src

+0

Funciona también para Luna – AKT

1

Es probable que esto se deba al uso de Maven para compilar (Maven generalmente se compila en la carpeta 'destino'), pero Eclipse usa una carpeta de compilación diferente para su propio proceso de compilación. La forma más simple es ir a la carpeta de destino bajo su Proyecto Eclipse (o Bundle si usa OSGi) y eliminar las subcarpetas/archivos de clase en conflicto de ese directorio; para mí esta es mi carpeta de "destino". Luego haz que Eclipse reconstruya, y todo debería estar bien.

Técnicamente, y como alternativa, podría volar toda la carpeta de compilación/destino si quisiera, y dejar que Eclipse reconstruya todo.

1

En respuesta a la respuesta proporcionada por Ryan Dawe, descubrí que la carpeta de salida predeterminada se puede establecer en una sola carpeta, para todas las carpetas de origen en la ruta de compilación. Entonces, si cambié la carpeta de salida a target/test-classes, mi src/main/java también estaba sacando clases ahí. Es posible que haya escrito esta respuesta para una versión anterior diferente de eclipse, pero a partir de la versión Mars.2, solo podemos tener una carpeta de salida predeterminada para todas las carpetas de origen.

La mejor solución que he encontrado hasta ahora para este problema es simplemente incluir el objetivo/clases de prueba como una carpeta de clase, yendo a Proyecto -> Propiedades -> Ruta de compilación de Java -> Bibliotecas -> Agregar carpeta de clase .

+0

Debe haber un nodo 'carpeta de salida' cuando expande el nodo de carpetas de origen de nivel superior. Si aún no puede verlo, intente acceder a través del Explorador de paquetes como se describe en https://stackoverflow.com/questions/6087690/eclipse-maven-junit-tests-not-compiled-when-running-them – Taras

0

Agregue "prueba" en frente de sus clases de prueba si no hay ya la anotación @Test no siempre recogido del marco de prueba de Eclipse de Junit.

Cuestiones relacionadas