unitarias unitaria una tutorial test que pruebas prueba hacer ejemplos ejemplo crear como automaticas java eclipse unit-testing junit

java - unitaria - ''No se encontraron pruebas JUnit'' en Eclipse



que es una prueba unitaria java (12)

Así que soy nuevo en JUnit, y tenemos que usarlo para una tarea de tarea. Nuestro profesor nos dio un proyecto que tiene una clase de prueba, BallTest.java . Cuando hago clic con el botón derecho en> Ejecutar como> JUnit Test, aparece un error emergente que dice "No se encontraron pruebas de JUnit". Sé que la pregunta ha sido respondida aquí ( No se encontraron pruebas con el corredor de prueba ''JUnit 4'' ), pero cerrar eclipse, reiniciar, limpiar y construir no parece funcionar. A continuación se muestran capturas de pantalla de mi configuración de ejecución, ruta de compilación y la clase que estoy tratando de probar.

BallTest.java

import static org.junit.Assert.*; import junit.framework.Assert; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class BallTest { Ball ball; /** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { System.out.println("Setting up ..."); Point2D p = new Point2D(0,0); ball = new Ball(p); } /** * @throws java.lang.Exception */ @After public void tearDown() throws Exception { System.out.println("Tearing down ..."); ball = null; } /** * Test method for {@link Ball#getCoordinates()}. */ @Test public void testGetCoordinates() { assertNotNull(ball); // don''t need Assert. because of the import statement above. Assert.assertEquals(ball.getCoordinates().getX(), 0); Assert.assertEquals(ball.getCoordinates().getY(), 0); } /** * Test method for {@link Ball#setCoordinates(Point2D)}. */ @Test public void testSetCoordinates() { Assert.assertNotNull(ball); Point2D p = new Point2D(99,99); ball.setCoordinates(p); Assert.assertEquals(ball.getCoordinates().getX(), 99); Assert.assertEquals(ball.getCoordinates().getY(), 99); } /** * Test method for {@link Ball#Ball(Point2D)}. */ @Test public void testBall() { Point2D p = new Point2D(49,30); ball = new Ball(p); Assert.assertNotNull(ball); Assert.assertEquals(ball.getCoordinates().getX(), 49); Assert.assertEquals(ball.getCoordinates().getY(), 30); //fail("Not yet implemented"); } public static void main (String[] args) { Result result = JUnitCore.runClasses(BallTest.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println(result.wasSuccessful()); } }


  1. Haga clic con el botón derecho en su proyecto -> Propiedades-> Ruta de compilación de Java y vaya a la pestaña de fuente luego agregue su carpeta de prueba de src.
  2. Seleccione el menú Proyecto y deseleccione la opción ''Generar automáticamente'' si está seleccionado
  3. Seleccione Limpiar y luego seleccione la opción ''Generar automáticamente''
  4. Reinicia Eclipse y ejecuta tu junit.

Creo que ha creado sus clases de prueba fuera de la carpeta src. Puedes resolver el problema anterior por dos vías:

  1. Agregue su nombre de paquete en la java build path->source

  2. Mueva su package/class en la carpeta src

Tengo el mismo problema y he resuelto de esta manera que ambas soluciones funcionan bien.


Cualquier solución no funcionó para mí hasta que cambie el nombre de mi método de prueba. Cuando el nombre del método de prueba comienza con "prueba", está bien. Soy nuevo en la programación de Android y fue para mí una gran sorpresa.


Estaba usando @RunWith(Parameterized.class) pero @Parameters agregar la anotación @Parameters en el método público de parámetros estáticos. Después de agregar la anotación funcionó.


Esto lo solucionó:

Haga clic derecho en la carpeta llamada ''Prueba''> Ruta de compilación> Usar como carpeta de origen.

Aunque no entiendo completamente por qué, ¿alguien puede comentar sobre eso?


La configuración de ejecución para una clase de prueba puede crear otra causa (y solución) para este problema.

Si va a Ejecutar (o Depurar) Configuraciones (usando cmd-3 o haciendo clic en los pequeños botones desplegables en la barra de herramientas) puede ver una configuración creada para cada clase de prueba con la que ha trabajado. Descubrí que una de mis clases que no se lanzaría tenía una configuración de ejecución en la que el campo Método de prueba se había poblado inadvertidamente. Tenía que aclarar eso para que funcione. Cuando se borra, muestra (todos los métodos) en texto claro.

Añadiré eso de forma extraña, tal vez había algo más, pero tampoco pareció funcionarme hasta que arreglé el campo "Nombre" para que solo incluyera el nombre de clase como las otras configuraciones de ejecución de JUnit.


Parece que te falta la definición del corredor en tu clase de prueba, esa podría ser la causa:

import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class BallTest { ... }


Resolví el problema configurando la ruta de compilación. Haga clic derecho en el proyecto (o en cualquiera de las subcarpetas) -> Ruta de compilación -> Configurar ruta de compilación. Una vez que se abra la ventana de propiedades, haga clic en la pestaña ''Fuente'' y agregue sus carpetas src y tst. Pero esto solo no funcionó para mí. Extrañamente, tuve que volver a escribir las anotaciones (Project-> clean o restart también podrían haber funcionado).


Se encontró con este problema al actualizar proyectos en versiones de eclipse. Por ejemplo, los junits que funcionan bien en Mars2.0 no se ejecutan en Neon. Lo siguiente funcionó para mí.

  1. Eliminar la carpeta .settings. Importar proyecto en eclipse.
  2. Eliminar carpetas de origen. Luego, nuevamente use las carpetas como carpetas de origen. por ejemplo, eliminar src / main / java de la ruta de compilación como carpeta de origen. -> Ok -> Vuelve a hacer esta carpeta como carpeta de origen. Repita para main / resources, test / java, test / resources

Si ninguna de las otras respuestas funciona para usted, esto es lo que funcionó para mí.

Reiniciar eclipse

Tenía la carpeta de origen configurada correctamente, y las pruebas de unidades correctamente anotadas, pero todavía obtenía "No se encontraron pruebas de JUnit" para un proyecto. Después de un reinicio, funcionó. Estaba usando STS 3.6.2 basado en Eclipse Luna 4.4.1


Tuve el mismo problema y lo resolví así: eliminé la anotación @Test y la reescribí. Simplemente funcionó, no tengo idea de por qué.


haga clic con el botón derecho -> ruta de compilación -> eliminar de la ruta de compilación y luego agréguela de nuevo -> haga clic con el botón derecho en la carpeta llamada "Prueba"> Ruta de compilación> Usar como carpeta de origen.